WORST_CASE(Omega(n^1),O(n^2)) proof of /export/starexec/sandbox/benchmark/theBenchmark.trs # AProVE Commit ID: c69e44bd14796315568835c1ffa2502984884775 mhark 20210624 unpublished The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). (0) CpxRelTRS (1) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 2286 ms] (2) CpxRelTRS (3) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (4) CpxWeightedTrs (5) CpxWeightedTrsRenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 4 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) NarrowingProof [BOTH BOUNDS(ID, ID), 2160 ms] (12) CpxTypedWeightedCompleteTrs (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 24 ms] (14) CpxRNTS (15) InliningProof [UPPER BOUND(ID), 5517 ms] (16) CpxRNTS (17) SimplificationProof [BOTH BOUNDS(ID, ID), 31 ms] (18) CpxRNTS (19) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 16 ms] (20) CpxRNTS (21) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (22) CpxRNTS (23) IntTrsBoundProof [UPPER BOUND(ID), 95 ms] (24) CpxRNTS (25) IntTrsBoundProof [UPPER BOUND(ID), 60 ms] (26) CpxRNTS (27) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 99 ms] (30) CpxRNTS (31) IntTrsBoundProof [UPPER BOUND(ID), 55 ms] (32) CpxRNTS (33) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 110 ms] (36) CpxRNTS (37) IntTrsBoundProof [UPPER BOUND(ID), 22 ms] (38) CpxRNTS (39) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 220 ms] (42) CpxRNTS (43) IntTrsBoundProof [UPPER BOUND(ID), 54 ms] (44) CpxRNTS (45) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 223 ms] (48) CpxRNTS (49) IntTrsBoundProof [UPPER BOUND(ID), 53 ms] (50) CpxRNTS (51) ResultPropagationProof [UPPER BOUND(ID), 6 ms] (52) CpxRNTS (53) IntTrsBoundProof [UPPER BOUND(ID), 131 ms] (54) CpxRNTS (55) IntTrsBoundProof [UPPER BOUND(ID), 14 ms] (56) CpxRNTS (57) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (58) CpxRNTS (59) IntTrsBoundProof [UPPER BOUND(ID), 112 ms] (60) CpxRNTS (61) IntTrsBoundProof [UPPER BOUND(ID), 55 ms] (62) CpxRNTS (63) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (64) CpxRNTS (65) IntTrsBoundProof [UPPER BOUND(ID), 150 ms] (66) CpxRNTS (67) IntTrsBoundProof [UPPER BOUND(ID), 33 ms] (68) CpxRNTS (69) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (70) CpxRNTS (71) IntTrsBoundProof [UPPER BOUND(ID), 1357 ms] (72) CpxRNTS (73) IntTrsBoundProof [UPPER BOUND(ID), 165 ms] (74) CpxRNTS (75) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (76) CpxRNTS (77) IntTrsBoundProof [UPPER BOUND(ID), 204 ms] (78) CpxRNTS (79) IntTrsBoundProof [UPPER BOUND(ID), 39 ms] (80) CpxRNTS (81) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (82) CpxRNTS (83) IntTrsBoundProof [UPPER BOUND(ID), 121 ms] (84) CpxRNTS (85) IntTrsBoundProof [UPPER BOUND(ID), 53 ms] (86) CpxRNTS (87) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (88) CpxRNTS (89) IntTrsBoundProof [UPPER BOUND(ID), 101 ms] (90) CpxRNTS (91) IntTrsBoundProof [UPPER BOUND(ID), 44 ms] (92) CpxRNTS (93) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (94) CpxRNTS (95) IntTrsBoundProof [UPPER BOUND(ID), 8 ms] (96) CpxRNTS (97) IntTrsBoundProof [UPPER BOUND(ID), 12 ms] (98) CpxRNTS (99) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (100) CpxRNTS (101) IntTrsBoundProof [UPPER BOUND(ID), 129 ms] (102) CpxRNTS (103) IntTrsBoundProof [UPPER BOUND(ID), 24 ms] (104) CpxRNTS (105) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (106) CpxRNTS (107) IntTrsBoundProof [UPPER BOUND(ID), 40 ms] (108) CpxRNTS (109) IntTrsBoundProof [UPPER BOUND(ID), 72 ms] (110) CpxRNTS (111) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (112) CpxRNTS (113) IntTrsBoundProof [UPPER BOUND(ID), 733 ms] (114) CpxRNTS (115) IntTrsBoundProof [UPPER BOUND(ID), 245 ms] (116) CpxRNTS (117) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (118) CpxRNTS (119) IntTrsBoundProof [UPPER BOUND(ID), 151 ms] (120) CpxRNTS (121) IntTrsBoundProof [UPPER BOUND(ID), 3 ms] (122) CpxRNTS (123) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (124) CpxRNTS (125) IntTrsBoundProof [UPPER BOUND(ID), 333 ms] (126) CpxRNTS (127) IntTrsBoundProof [UPPER BOUND(ID), 180 ms] (128) CpxRNTS (129) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (130) CpxRNTS (131) IntTrsBoundProof [UPPER BOUND(ID), 137 ms] (132) CpxRNTS (133) IntTrsBoundProof [UPPER BOUND(ID), 32 ms] (134) CpxRNTS (135) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (136) CpxRNTS (137) IntTrsBoundProof [UPPER BOUND(ID), 208 ms] (138) CpxRNTS (139) IntTrsBoundProof [UPPER BOUND(ID), 24 ms] (140) CpxRNTS (141) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (142) CpxRNTS (143) IntTrsBoundProof [UPPER BOUND(ID), 240 ms] (144) CpxRNTS (145) IntTrsBoundProof [UPPER BOUND(ID), 22 ms] (146) CpxRNTS (147) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (148) CpxRNTS (149) IntTrsBoundProof [UPPER BOUND(ID), 200 ms] (150) CpxRNTS (151) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (152) CpxRNTS (153) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (154) CpxRNTS (155) IntTrsBoundProof [UPPER BOUND(ID), 1459 ms] (156) CpxRNTS (157) IntTrsBoundProof [UPPER BOUND(ID), 102 ms] (158) CpxRNTS (159) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (160) CpxRNTS (161) IntTrsBoundProof [UPPER BOUND(ID), 40 ms] (162) CpxRNTS (163) IntTrsBoundProof [UPPER BOUND(ID), 14 ms] (164) CpxRNTS (165) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (166) CpxRNTS (167) IntTrsBoundProof [UPPER BOUND(ID), 328 ms] (168) CpxRNTS (169) IntTrsBoundProof [UPPER BOUND(ID), 109 ms] (170) CpxRNTS (171) ResultPropagationProof [UPPER BOUND(ID), 5 ms] (172) CpxRNTS (173) IntTrsBoundProof [UPPER BOUND(ID), 2124 ms] (174) CpxRNTS (175) IntTrsBoundProof [UPPER BOUND(ID), 185 ms] (176) CpxRNTS (177) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (178) CpxRNTS (179) IntTrsBoundProof [UPPER BOUND(ID), 210 ms] (180) CpxRNTS (181) IntTrsBoundProof [UPPER BOUND(ID), 64 ms] (182) CpxRNTS (183) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (184) CpxRNTS (185) IntTrsBoundProof [UPPER BOUND(ID), 78 ms] (186) CpxRNTS (187) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (188) CpxRNTS (189) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (190) CpxRNTS (191) IntTrsBoundProof [UPPER BOUND(ID), 693 ms] (192) CpxRNTS (193) IntTrsBoundProof [UPPER BOUND(ID), 139 ms] (194) CpxRNTS (195) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (196) CpxRNTS (197) IntTrsBoundProof [UPPER BOUND(ID), 170 ms] (198) CpxRNTS (199) IntTrsBoundProof [UPPER BOUND(ID), 22 ms] (200) CpxRNTS (201) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (202) CpxRNTS (203) IntTrsBoundProof [UPPER BOUND(ID), 239 ms] (204) CpxRNTS (205) IntTrsBoundProof [UPPER BOUND(ID), 25 ms] (206) CpxRNTS (207) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (208) CpxRNTS (209) IntTrsBoundProof [UPPER BOUND(ID), 170 ms] (210) CpxRNTS (211) IntTrsBoundProof [UPPER BOUND(ID), 62 ms] (212) CpxRNTS (213) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (214) CpxRNTS (215) IntTrsBoundProof [UPPER BOUND(ID), 4088 ms] (216) CpxRNTS (217) IntTrsBoundProof [UPPER BOUND(ID), 481 ms] (218) CpxRNTS (219) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (220) CpxRNTS (221) IntTrsBoundProof [UPPER BOUND(ID), 90 ms] (222) CpxRNTS (223) IntTrsBoundProof [UPPER BOUND(ID), 13 ms] (224) CpxRNTS (225) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (226) CpxRNTS (227) IntTrsBoundProof [UPPER BOUND(ID), 68 ms] (228) CpxRNTS (229) IntTrsBoundProof [UPPER BOUND(ID), 23 ms] (230) CpxRNTS (231) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (232) CpxRNTS (233) IntTrsBoundProof [UPPER BOUND(ID), 1537 ms] (234) CpxRNTS (235) IntTrsBoundProof [UPPER BOUND(ID), 286 ms] (236) CpxRNTS (237) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (238) CpxRNTS (239) IntTrsBoundProof [UPPER BOUND(ID), 127 ms] (240) CpxRNTS (241) IntTrsBoundProof [UPPER BOUND(ID), 42 ms] (242) CpxRNTS (243) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (244) CpxRNTS (245) IntTrsBoundProof [UPPER BOUND(ID), 96 ms] (246) CpxRNTS (247) IntTrsBoundProof [UPPER BOUND(ID), 32 ms] (248) CpxRNTS (249) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (250) CpxRNTS (251) IntTrsBoundProof [UPPER BOUND(ID), 189 ms] (252) CpxRNTS (253) IntTrsBoundProof [UPPER BOUND(ID), 62 ms] (254) CpxRNTS (255) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (256) CpxRNTS (257) IntTrsBoundProof [UPPER BOUND(ID), 350 ms] (258) CpxRNTS (259) IntTrsBoundProof [UPPER BOUND(ID), 24 ms] (260) CpxRNTS (261) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (262) CpxRNTS (263) IntTrsBoundProof [UPPER BOUND(ID), 149 ms] (264) CpxRNTS (265) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (266) CpxRNTS (267) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (268) CpxRNTS (269) IntTrsBoundProof [UPPER BOUND(ID), 340 ms] (270) CpxRNTS (271) IntTrsBoundProof [UPPER BOUND(ID), 92 ms] (272) CpxRNTS (273) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (274) CpxRNTS (275) IntTrsBoundProof [UPPER BOUND(ID), 421 ms] (276) CpxRNTS (277) IntTrsBoundProof [UPPER BOUND(ID), 53 ms] (278) CpxRNTS (279) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (280) CpxRNTS (281) IntTrsBoundProof [UPPER BOUND(ID), 1027 ms] (282) CpxRNTS (283) IntTrsBoundProof [UPPER BOUND(ID), 77 ms] (284) CpxRNTS (285) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (286) CpxRNTS (287) IntTrsBoundProof [UPPER BOUND(ID), 444 ms] (288) CpxRNTS (289) IntTrsBoundProof [UPPER BOUND(ID), 55 ms] (290) CpxRNTS (291) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (292) CpxRNTS (293) IntTrsBoundProof [UPPER BOUND(ID), 543 ms] (294) CpxRNTS (295) IntTrsBoundProof [UPPER BOUND(ID), 105 ms] (296) CpxRNTS (297) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (298) CpxRNTS (299) IntTrsBoundProof [UPPER BOUND(ID), 682 ms] (300) CpxRNTS (301) IntTrsBoundProof [UPPER BOUND(ID), 65 ms] (302) CpxRNTS (303) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (304) CpxRNTS (305) IntTrsBoundProof [UPPER BOUND(ID), 562 ms] (306) CpxRNTS (307) IntTrsBoundProof [UPPER BOUND(ID), 55 ms] (308) CpxRNTS (309) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (310) CpxRNTS (311) IntTrsBoundProof [UPPER BOUND(ID), 3490 ms] (312) CpxRNTS (313) IntTrsBoundProof [UPPER BOUND(ID), 171 ms] (314) CpxRNTS (315) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (316) CpxRNTS (317) IntTrsBoundProof [UPPER BOUND(ID), 4110 ms] (318) CpxRNTS (319) IntTrsBoundProof [UPPER BOUND(ID), 187 ms] (320) CpxRNTS (321) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (322) CpxRNTS (323) IntTrsBoundProof [UPPER BOUND(ID), 917 ms] (324) CpxRNTS (325) IntTrsBoundProof [UPPER BOUND(ID), 51 ms] (326) CpxRNTS (327) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (328) CpxRNTS (329) IntTrsBoundProof [UPPER BOUND(ID), 858 ms] (330) CpxRNTS (331) IntTrsBoundProof [UPPER BOUND(ID), 42 ms] (332) CpxRNTS (333) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (334) CpxRNTS (335) IntTrsBoundProof [UPPER BOUND(ID), 969 ms] (336) CpxRNTS (337) IntTrsBoundProof [UPPER BOUND(ID), 52 ms] (338) CpxRNTS (339) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (340) CpxRNTS (341) IntTrsBoundProof [UPPER BOUND(ID), 587 ms] (342) CpxRNTS (343) IntTrsBoundProof [UPPER BOUND(ID), 72 ms] (344) CpxRNTS (345) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (346) CpxRNTS (347) IntTrsBoundProof [UPPER BOUND(ID), 699 ms] (348) CpxRNTS (349) IntTrsBoundProof [UPPER BOUND(ID), 23 ms] (350) CpxRNTS (351) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (352) CpxRNTS (353) IntTrsBoundProof [UPPER BOUND(ID), 829 ms] (354) CpxRNTS (355) IntTrsBoundProof [UPPER BOUND(ID), 83 ms] (356) CpxRNTS (357) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (358) CpxRNTS (359) IntTrsBoundProof [UPPER BOUND(ID), 638 ms] (360) CpxRNTS (361) IntTrsBoundProof [UPPER BOUND(ID), 32 ms] (362) CpxRNTS (363) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (364) CpxRNTS (365) IntTrsBoundProof [UPPER BOUND(ID), 738 ms] (366) CpxRNTS (367) IntTrsBoundProof [UPPER BOUND(ID), 42 ms] (368) CpxRNTS (369) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (370) CpxRNTS (371) IntTrsBoundProof [UPPER BOUND(ID), 2662 ms] (372) CpxRNTS (373) IntTrsBoundProof [UPPER BOUND(ID), 101 ms] (374) CpxRNTS (375) ResultPropagationProof [UPPER BOUND(ID), 2 ms] (376) CpxRNTS (377) IntTrsBoundProof [UPPER BOUND(ID), 689 ms] (378) CpxRNTS (379) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (380) CpxRNTS (381) FinalProof [FINISHED, 0 ms] (382) BOUNDS(1, n^2) (383) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (384) TRS for Loop Detection (385) DecreasingLoopProof [LOWER BOUND(ID), 246 ms] (386) BEST (387) proven lower bound (388) LowerBoundPropagationProof [FINISHED, 0 ms] (389) BOUNDS(n^1, INF) (390) TRS for Loop Detection ---------------------------------------- (0) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c49 #ABS(#neg(z0)) -> c50 #ABS(#pos(z0)) -> c51 #ABS(#s(z0)) -> c52 #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) #GREATER(z0, z1) -> c54(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) +'(z0, z1) -> c55(#ADD(z0, z1)) FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) FIRSTLINE#1(nil) -> c59 LCS(z0, z1) -> c60(LCS#1(lcstable(z0, z1)), LCSTABLE(z0, z1)) LCS#1(z0) -> c61(LCS#2(z0)) LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) LCS#2(nil) -> c63(#ABS(#0)) LCS#3(::(z0, z1)) -> c64 LCS#3(nil) -> c65(#ABS(#0)) LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable(z1, z2), z2, z0), LCSTABLE(z1, z2)) LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) LCSTABLE#3(nil, z0, z1) -> c71 MAX(z0, z1) -> c72(MAX#1(#greater(z0, z1), z0, z1), #GREATER(z0, z1)) MAX#1(#false, z0, z1) -> c73 MAX#1(#true, z0, z1) -> c74 NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) NEWLINE#1(nil, z0, z1) -> c77 NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline(z4, z1, z3), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) NEWLINE#2(nil, z0, z1, z2) -> c79 NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right(z0), z1, z2, z0, z3, z4), RIGHT(z0)) NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right(z2), z1, z3, z0, z4, z5), RIGHT(z2)) NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#equal(z4, z5), z1, z0, z3), z2), NEWLINE#7(#equal(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) NEWLINE#6(z0, z1) -> c83 NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) RIGHT(z0) -> c86(RIGHT#1(z0)) RIGHT#1(::(z0, z1)) -> c87 RIGHT#1(nil) -> c88(#ABS(#0)) The (relative) TRS S consists of the following rules: #ADD(#0, z0) -> c #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #AND(#false, #false) -> c5 #AND(#false, #true) -> c6 #AND(#true, #false) -> c7 #AND(#true, #true) -> c8 #CKGT(#EQ) -> c9 #CKGT(#GT) -> c10 #CKGT(#LT) -> c11 #COMPARE(#0, #0) -> c12 #COMPARE(#0, #neg(z0)) -> c13 #COMPARE(#0, #pos(z0)) -> c14 #COMPARE(#0, #s(z0)) -> c15 #COMPARE(#neg(z0), #0) -> c16 #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c18 #COMPARE(#pos(z0), #0) -> c19 #COMPARE(#pos(z0), #neg(z1)) -> c20 #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c22 #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) #EQ'(#0, #0) -> c24 #EQ'(#0, #neg(z0)) -> c25 #EQ'(#0, #pos(z0)) -> c26 #EQ'(#0, #s(z0)) -> c27 #EQ'(#neg(z0), #0) -> c28 #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) #EQ'(#neg(z0), #pos(z1)) -> c30 #EQ'(#pos(z0), #0) -> c31 #EQ'(#pos(z0), #neg(z1)) -> c32 #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) #EQ'(#s(z0), #0) -> c34 #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) #EQ'(::(z0, z1), nil) -> c38 #EQ'(nil, ::(z0, z1)) -> c39 #EQ'(nil, nil) -> c40 #PRED(#0) -> c41 #PRED(#neg(#s(z0))) -> c42 #PRED(#pos(#s(#0))) -> c43 #PRED(#pos(#s(#s(z0)))) -> c44 #SUCC(#0) -> c45 #SUCC(#neg(#s(#0))) -> c46 #SUCC(#neg(#s(#s(z0)))) -> c47 #SUCC(#pos(#s(z0))) -> c48 #add(#0, z0) -> z0 #add(#neg(#s(#0)), z0) -> #pred(z0) #add(#neg(#s(#s(z0))), z1) -> #pred(#add(#pos(#s(z0)), z1)) #add(#pos(#s(#0)), z0) -> #succ(z0) #add(#pos(#s(#s(z0))), z1) -> #succ(#add(#pos(#s(z0)), z1)) #and(#false, #false) -> #false #and(#false, #true) -> #false #and(#true, #false) -> #false #and(#true, #true) -> #true #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #eq(#0, #0) -> #true #eq(#0, #neg(z0)) -> #false #eq(#0, #pos(z0)) -> #false #eq(#0, #s(z0)) -> #false #eq(#neg(z0), #0) -> #false #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) #eq(#neg(z0), #pos(z1)) -> #false #eq(#pos(z0), #0) -> #false #eq(#pos(z0), #neg(z1)) -> #false #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) #eq(#s(z0), #0) -> #false #eq(#s(z0), #s(z1)) -> #eq(z0, z1) #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) #eq(::(z0, z1), nil) -> #false #eq(nil, ::(z0, z1)) -> #false #eq(nil, nil) -> #true #pred(#0) -> #neg(#s(#0)) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0))) -> #0 #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0) -> #pos(#s(#0)) #succ(#neg(#s(#0))) -> #0 #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #equal(z0, z1) -> #eq(z0, z1) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) +(z0, z1) -> #add(z0, z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) firstline#1(nil) -> nil lcs(z0, z1) -> lcs#1(lcstable(z0, z1)) lcs#1(z0) -> lcs#2(z0) lcs#2(::(z0, z1)) -> lcs#3(z0) lcs#2(nil) -> #abs(#0) lcs#3(::(z0, z1)) -> z0 lcs#3(nil) -> #abs(#0) lcstable(z0, z1) -> lcstable#1(z0, z1) lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable(z1, z2), z2, z0) lcstable#1(nil, z0) -> ::(firstline(z0), nil) lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) lcstable#3(nil, z0, z1) -> nil max(z0, z1) -> max#1(#greater(z0, z1), z0, z1) max#1(#false, z0, z1) -> z1 max#1(#true, z0, z1) -> z0 newline(z0, z1, z2) -> newline#1(z2, z1, z0) newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) newline#1(nil, z0, z1) -> nil newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline(z4, z1, z3), z0, z1, z2, z4) newline#2(nil, z0, z1, z2) -> nil newline#3(z0, z1, z2, z3, z4) -> newline#4(right(z0), z1, z2, z0, z3, z4) newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right(z2), z1, z3, z0, z4, z5) newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#equal(z4, z5), z1, z0, z3), z2) newline#6(z0, z1) -> ::(z0, z1) newline#7(#false, z0, z1, z2) -> max(z0, z2) newline#7(#true, z0, z1, z2) -> +(z1, #pos(#s(#0))) right(z0) -> right#1(z0) right#1(::(z0, z1)) -> z0 right#1(nil) -> #abs(#0) Rewrite Strategy: INNERMOST ---------------------------------------- (1) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c49 #ABS(#neg(z0)) -> c50 #ABS(#pos(z0)) -> c51 #ABS(#s(z0)) -> c52 #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) #GREATER(z0, z1) -> c54(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) +'(z0, z1) -> c55(#ADD(z0, z1)) FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) FIRSTLINE#1(nil) -> c59 LCS(z0, z1) -> c60(LCS#1(lcstable(z0, z1)), LCSTABLE(z0, z1)) LCS#1(z0) -> c61(LCS#2(z0)) LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) LCS#2(nil) -> c63(#ABS(#0)) LCS#3(::(z0, z1)) -> c64 LCS#3(nil) -> c65(#ABS(#0)) LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable(z1, z2), z2, z0), LCSTABLE(z1, z2)) LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) LCSTABLE#3(nil, z0, z1) -> c71 MAX(z0, z1) -> c72(MAX#1(#greater(z0, z1), z0, z1), #GREATER(z0, z1)) MAX#1(#false, z0, z1) -> c73 MAX#1(#true, z0, z1) -> c74 NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) NEWLINE#1(nil, z0, z1) -> c77 NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline(z4, z1, z3), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) NEWLINE#2(nil, z0, z1, z2) -> c79 NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right(z0), z1, z2, z0, z3, z4), RIGHT(z0)) NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right(z2), z1, z3, z0, z4, z5), RIGHT(z2)) NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#equal(z4, z5), z1, z0, z3), z2), NEWLINE#7(#equal(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) NEWLINE#6(z0, z1) -> c83 NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) RIGHT(z0) -> c86(RIGHT#1(z0)) RIGHT#1(::(z0, z1)) -> c87 RIGHT#1(nil) -> c88(#ABS(#0)) The (relative) TRS S consists of the following rules: #ADD(#0, z0) -> c #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #AND(#false, #false) -> c5 #AND(#false, #true) -> c6 #AND(#true, #false) -> c7 #AND(#true, #true) -> c8 #CKGT(#EQ) -> c9 #CKGT(#GT) -> c10 #CKGT(#LT) -> c11 #COMPARE(#0, #0) -> c12 #COMPARE(#0, #neg(z0)) -> c13 #COMPARE(#0, #pos(z0)) -> c14 #COMPARE(#0, #s(z0)) -> c15 #COMPARE(#neg(z0), #0) -> c16 #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c18 #COMPARE(#pos(z0), #0) -> c19 #COMPARE(#pos(z0), #neg(z1)) -> c20 #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c22 #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) #EQ'(#0, #0) -> c24 #EQ'(#0, #neg(z0)) -> c25 #EQ'(#0, #pos(z0)) -> c26 #EQ'(#0, #s(z0)) -> c27 #EQ'(#neg(z0), #0) -> c28 #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) #EQ'(#neg(z0), #pos(z1)) -> c30 #EQ'(#pos(z0), #0) -> c31 #EQ'(#pos(z0), #neg(z1)) -> c32 #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) #EQ'(#s(z0), #0) -> c34 #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) #EQ'(::(z0, z1), nil) -> c38 #EQ'(nil, ::(z0, z1)) -> c39 #EQ'(nil, nil) -> c40 #PRED(#0) -> c41 #PRED(#neg(#s(z0))) -> c42 #PRED(#pos(#s(#0))) -> c43 #PRED(#pos(#s(#s(z0)))) -> c44 #SUCC(#0) -> c45 #SUCC(#neg(#s(#0))) -> c46 #SUCC(#neg(#s(#s(z0)))) -> c47 #SUCC(#pos(#s(z0))) -> c48 #add(#0, z0) -> z0 #add(#neg(#s(#0)), z0) -> #pred(z0) #add(#neg(#s(#s(z0))), z1) -> #pred(#add(#pos(#s(z0)), z1)) #add(#pos(#s(#0)), z0) -> #succ(z0) #add(#pos(#s(#s(z0))), z1) -> #succ(#add(#pos(#s(z0)), z1)) #and(#false, #false) -> #false #and(#false, #true) -> #false #and(#true, #false) -> #false #and(#true, #true) -> #true #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #eq(#0, #0) -> #true #eq(#0, #neg(z0)) -> #false #eq(#0, #pos(z0)) -> #false #eq(#0, #s(z0)) -> #false #eq(#neg(z0), #0) -> #false #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) #eq(#neg(z0), #pos(z1)) -> #false #eq(#pos(z0), #0) -> #false #eq(#pos(z0), #neg(z1)) -> #false #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) #eq(#s(z0), #0) -> #false #eq(#s(z0), #s(z1)) -> #eq(z0, z1) #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) #eq(::(z0, z1), nil) -> #false #eq(nil, ::(z0, z1)) -> #false #eq(nil, nil) -> #true #pred(#0) -> #neg(#s(#0)) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0))) -> #0 #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0) -> #pos(#s(#0)) #succ(#neg(#s(#0))) -> #0 #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #equal(z0, z1) -> #eq(z0, z1) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) +(z0, z1) -> #add(z0, z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) firstline#1(nil) -> nil lcs(z0, z1) -> lcs#1(lcstable(z0, z1)) lcs#1(z0) -> lcs#2(z0) lcs#2(::(z0, z1)) -> lcs#3(z0) lcs#2(nil) -> #abs(#0) lcs#3(::(z0, z1)) -> z0 lcs#3(nil) -> #abs(#0) lcstable(z0, z1) -> lcstable#1(z0, z1) lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable(z1, z2), z2, z0) lcstable#1(nil, z0) -> ::(firstline(z0), nil) lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) lcstable#3(nil, z0, z1) -> nil max(z0, z1) -> max#1(#greater(z0, z1), z0, z1) max#1(#false, z0, z1) -> z1 max#1(#true, z0, z1) -> z0 newline(z0, z1, z2) -> newline#1(z2, z1, z0) newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) newline#1(nil, z0, z1) -> nil newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline(z4, z1, z3), z0, z1, z2, z4) newline#2(nil, z0, z1, z2) -> nil newline#3(z0, z1, z2, z3, z4) -> newline#4(right(z0), z1, z2, z0, z3, z4) newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right(z2), z1, z3, z0, z4, z5) newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#equal(z4, z5), z1, z0, z3), z2) newline#6(z0, z1) -> ::(z0, z1) newline#7(#false, z0, z1, z2) -> max(z0, z2) newline#7(#true, z0, z1, z2) -> +(z1, #pos(#s(#0))) right(z0) -> right#1(z0) right#1(::(z0, z1)) -> z0 right#1(nil) -> #abs(#0) Rewrite Strategy: INNERMOST ---------------------------------------- (3) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c49 [1] #ABS(#neg(z0)) -> c50 [1] #ABS(#pos(z0)) -> c51 [1] #ABS(#s(z0)) -> c52 [1] #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) [1] #GREATER(z0, z1) -> c54(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) [1] +'(z0, z1) -> c55(#ADD(z0, z1)) [1] FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) [1] FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) [1] FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) [1] FIRSTLINE#1(nil) -> c59 [1] LCS(z0, z1) -> c60(LCS#1(lcstable(z0, z1)), LCSTABLE(z0, z1)) [1] LCS#1(z0) -> c61(LCS#2(z0)) [1] LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) [1] LCS#2(nil) -> c63(#ABS(#0)) [1] LCS#3(::(z0, z1)) -> c64 [1] LCS#3(nil) -> c65(#ABS(#0)) [1] LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) [1] LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable(z1, z2), z2, z0), LCSTABLE(z1, z2)) [1] LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) [1] LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) [1] LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) [1] LCSTABLE#3(nil, z0, z1) -> c71 [1] MAX(z0, z1) -> c72(MAX#1(#greater(z0, z1), z0, z1), #GREATER(z0, z1)) [1] MAX#1(#false, z0, z1) -> c73 [1] MAX#1(#true, z0, z1) -> c74 [1] NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) [1] NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) [1] NEWLINE#1(nil, z0, z1) -> c77 [1] NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline(z4, z1, z3), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) [1] NEWLINE#2(nil, z0, z1, z2) -> c79 [1] NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right(z0), z1, z2, z0, z3, z4), RIGHT(z0)) [1] NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right(z2), z1, z3, z0, z4, z5), RIGHT(z2)) [1] NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#equal(z4, z5), z1, z0, z3), z2), NEWLINE#7(#equal(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) [1] NEWLINE#6(z0, z1) -> c83 [1] NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) [1] NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) [1] RIGHT(z0) -> c86(RIGHT#1(z0)) [1] RIGHT#1(::(z0, z1)) -> c87 [1] RIGHT#1(nil) -> c88(#ABS(#0)) [1] #ADD(#0, z0) -> c [0] #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) [0] #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) [0] #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) [0] #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) [0] #AND(#false, #false) -> c5 [0] #AND(#false, #true) -> c6 [0] #AND(#true, #false) -> c7 [0] #AND(#true, #true) -> c8 [0] #CKGT(#EQ) -> c9 [0] #CKGT(#GT) -> c10 [0] #CKGT(#LT) -> c11 [0] #COMPARE(#0, #0) -> c12 [0] #COMPARE(#0, #neg(z0)) -> c13 [0] #COMPARE(#0, #pos(z0)) -> c14 [0] #COMPARE(#0, #s(z0)) -> c15 [0] #COMPARE(#neg(z0), #0) -> c16 [0] #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) [0] #COMPARE(#neg(z0), #pos(z1)) -> c18 [0] #COMPARE(#pos(z0), #0) -> c19 [0] #COMPARE(#pos(z0), #neg(z1)) -> c20 [0] #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) [0] #COMPARE(#s(z0), #0) -> c22 [0] #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) [0] #EQ'(#0, #0) -> c24 [0] #EQ'(#0, #neg(z0)) -> c25 [0] #EQ'(#0, #pos(z0)) -> c26 [0] #EQ'(#0, #s(z0)) -> c27 [0] #EQ'(#neg(z0), #0) -> c28 [0] #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) [0] #EQ'(#neg(z0), #pos(z1)) -> c30 [0] #EQ'(#pos(z0), #0) -> c31 [0] #EQ'(#pos(z0), #neg(z1)) -> c32 [0] #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) [0] #EQ'(#s(z0), #0) -> c34 [0] #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) [0] #EQ'(::(z0, z1), nil) -> c38 [0] #EQ'(nil, ::(z0, z1)) -> c39 [0] #EQ'(nil, nil) -> c40 [0] #PRED(#0) -> c41 [0] #PRED(#neg(#s(z0))) -> c42 [0] #PRED(#pos(#s(#0))) -> c43 [0] #PRED(#pos(#s(#s(z0)))) -> c44 [0] #SUCC(#0) -> c45 [0] #SUCC(#neg(#s(#0))) -> c46 [0] #SUCC(#neg(#s(#s(z0)))) -> c47 [0] #SUCC(#pos(#s(z0))) -> c48 [0] #add(#0, z0) -> z0 [0] #add(#neg(#s(#0)), z0) -> #pred(z0) [0] #add(#neg(#s(#s(z0))), z1) -> #pred(#add(#pos(#s(z0)), z1)) [0] #add(#pos(#s(#0)), z0) -> #succ(z0) [0] #add(#pos(#s(#s(z0))), z1) -> #succ(#add(#pos(#s(z0)), z1)) [0] #and(#false, #false) -> #false [0] #and(#false, #true) -> #false [0] #and(#true, #false) -> #false [0] #and(#true, #true) -> #true [0] #ckgt(#EQ) -> #false [0] #ckgt(#GT) -> #true [0] #ckgt(#LT) -> #false [0] #compare(#0, #0) -> #EQ [0] #compare(#0, #neg(z0)) -> #GT [0] #compare(#0, #pos(z0)) -> #LT [0] #compare(#0, #s(z0)) -> #LT [0] #compare(#neg(z0), #0) -> #LT [0] #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) [0] #compare(#neg(z0), #pos(z1)) -> #LT [0] #compare(#pos(z0), #0) -> #GT [0] #compare(#pos(z0), #neg(z1)) -> #GT [0] #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) [0] #compare(#s(z0), #0) -> #GT [0] #compare(#s(z0), #s(z1)) -> #compare(z0, z1) [0] #eq(#0, #0) -> #true [0] #eq(#0, #neg(z0)) -> #false [0] #eq(#0, #pos(z0)) -> #false [0] #eq(#0, #s(z0)) -> #false [0] #eq(#neg(z0), #0) -> #false [0] #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) [0] #eq(#neg(z0), #pos(z1)) -> #false [0] #eq(#pos(z0), #0) -> #false [0] #eq(#pos(z0), #neg(z1)) -> #false [0] #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) [0] #eq(#s(z0), #0) -> #false [0] #eq(#s(z0), #s(z1)) -> #eq(z0, z1) [0] #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) [0] #eq(::(z0, z1), nil) -> #false [0] #eq(nil, ::(z0, z1)) -> #false [0] #eq(nil, nil) -> #true [0] #pred(#0) -> #neg(#s(#0)) [0] #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) [0] #pred(#pos(#s(#0))) -> #0 [0] #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) [0] #succ(#0) -> #pos(#s(#0)) [0] #succ(#neg(#s(#0))) -> #0 [0] #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) [0] #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) [0] #abs(#0) -> #0 [0] #abs(#neg(z0)) -> #pos(z0) [0] #abs(#pos(z0)) -> #pos(z0) [0] #abs(#s(z0)) -> #pos(#s(z0)) [0] #equal(z0, z1) -> #eq(z0, z1) [0] #greater(z0, z1) -> #ckgt(#compare(z0, z1)) [0] +(z0, z1) -> #add(z0, z1) [0] firstline(z0) -> firstline#1(z0) [0] firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) [0] firstline#1(nil) -> nil [0] lcs(z0, z1) -> lcs#1(lcstable(z0, z1)) [0] lcs#1(z0) -> lcs#2(z0) [0] lcs#2(::(z0, z1)) -> lcs#3(z0) [0] lcs#2(nil) -> #abs(#0) [0] lcs#3(::(z0, z1)) -> z0 [0] lcs#3(nil) -> #abs(#0) [0] lcstable(z0, z1) -> lcstable#1(z0, z1) [0] lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable(z1, z2), z2, z0) [0] lcstable#1(nil, z0) -> ::(firstline(z0), nil) [0] lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) [0] lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) [0] lcstable#3(nil, z0, z1) -> nil [0] max(z0, z1) -> max#1(#greater(z0, z1), z0, z1) [0] max#1(#false, z0, z1) -> z1 [0] max#1(#true, z0, z1) -> z0 [0] newline(z0, z1, z2) -> newline#1(z2, z1, z0) [0] newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) [0] newline#1(nil, z0, z1) -> nil [0] newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline(z4, z1, z3), z0, z1, z2, z4) [0] newline#2(nil, z0, z1, z2) -> nil [0] newline#3(z0, z1, z2, z3, z4) -> newline#4(right(z0), z1, z2, z0, z3, z4) [0] newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right(z2), z1, z3, z0, z4, z5) [0] newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#equal(z4, z5), z1, z0, z3), z2) [0] newline#6(z0, z1) -> ::(z0, z1) [0] newline#7(#false, z0, z1, z2) -> max(z0, z2) [0] newline#7(#true, z0, z1, z2) -> +(z1, #pos(#s(#0))) [0] right(z0) -> right#1(z0) [0] right#1(::(z0, z1)) -> z0 [0] right#1(nil) -> #abs(#0) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (5) CpxWeightedTrsRenamingProof (BOTH BOUNDS(ID, ID)) Renamed defined symbols to avoid conflicts with arithmetic symbols: + => plus ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c49 [1] #ABS(#neg(z0)) -> c50 [1] #ABS(#pos(z0)) -> c51 [1] #ABS(#s(z0)) -> c52 [1] #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) [1] #GREATER(z0, z1) -> c54(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) [1] +'(z0, z1) -> c55(#ADD(z0, z1)) [1] FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) [1] FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) [1] FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) [1] FIRSTLINE#1(nil) -> c59 [1] LCS(z0, z1) -> c60(LCS#1(lcstable(z0, z1)), LCSTABLE(z0, z1)) [1] LCS#1(z0) -> c61(LCS#2(z0)) [1] LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) [1] LCS#2(nil) -> c63(#ABS(#0)) [1] LCS#3(::(z0, z1)) -> c64 [1] LCS#3(nil) -> c65(#ABS(#0)) [1] LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) [1] LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable(z1, z2), z2, z0), LCSTABLE(z1, z2)) [1] LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) [1] LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) [1] LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) [1] LCSTABLE#3(nil, z0, z1) -> c71 [1] MAX(z0, z1) -> c72(MAX#1(#greater(z0, z1), z0, z1), #GREATER(z0, z1)) [1] MAX#1(#false, z0, z1) -> c73 [1] MAX#1(#true, z0, z1) -> c74 [1] NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) [1] NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) [1] NEWLINE#1(nil, z0, z1) -> c77 [1] NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline(z4, z1, z3), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) [1] NEWLINE#2(nil, z0, z1, z2) -> c79 [1] NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right(z0), z1, z2, z0, z3, z4), RIGHT(z0)) [1] NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right(z2), z1, z3, z0, z4, z5), RIGHT(z2)) [1] NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#equal(z4, z5), z1, z0, z3), z2), NEWLINE#7(#equal(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) [1] NEWLINE#6(z0, z1) -> c83 [1] NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) [1] NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) [1] RIGHT(z0) -> c86(RIGHT#1(z0)) [1] RIGHT#1(::(z0, z1)) -> c87 [1] RIGHT#1(nil) -> c88(#ABS(#0)) [1] #ADD(#0, z0) -> c [0] #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) [0] #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) [0] #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) [0] #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) [0] #AND(#false, #false) -> c5 [0] #AND(#false, #true) -> c6 [0] #AND(#true, #false) -> c7 [0] #AND(#true, #true) -> c8 [0] #CKGT(#EQ) -> c9 [0] #CKGT(#GT) -> c10 [0] #CKGT(#LT) -> c11 [0] #COMPARE(#0, #0) -> c12 [0] #COMPARE(#0, #neg(z0)) -> c13 [0] #COMPARE(#0, #pos(z0)) -> c14 [0] #COMPARE(#0, #s(z0)) -> c15 [0] #COMPARE(#neg(z0), #0) -> c16 [0] #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) [0] #COMPARE(#neg(z0), #pos(z1)) -> c18 [0] #COMPARE(#pos(z0), #0) -> c19 [0] #COMPARE(#pos(z0), #neg(z1)) -> c20 [0] #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) [0] #COMPARE(#s(z0), #0) -> c22 [0] #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) [0] #EQ'(#0, #0) -> c24 [0] #EQ'(#0, #neg(z0)) -> c25 [0] #EQ'(#0, #pos(z0)) -> c26 [0] #EQ'(#0, #s(z0)) -> c27 [0] #EQ'(#neg(z0), #0) -> c28 [0] #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) [0] #EQ'(#neg(z0), #pos(z1)) -> c30 [0] #EQ'(#pos(z0), #0) -> c31 [0] #EQ'(#pos(z0), #neg(z1)) -> c32 [0] #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) [0] #EQ'(#s(z0), #0) -> c34 [0] #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) [0] #EQ'(::(z0, z1), nil) -> c38 [0] #EQ'(nil, ::(z0, z1)) -> c39 [0] #EQ'(nil, nil) -> c40 [0] #PRED(#0) -> c41 [0] #PRED(#neg(#s(z0))) -> c42 [0] #PRED(#pos(#s(#0))) -> c43 [0] #PRED(#pos(#s(#s(z0)))) -> c44 [0] #SUCC(#0) -> c45 [0] #SUCC(#neg(#s(#0))) -> c46 [0] #SUCC(#neg(#s(#s(z0)))) -> c47 [0] #SUCC(#pos(#s(z0))) -> c48 [0] #add(#0, z0) -> z0 [0] #add(#neg(#s(#0)), z0) -> #pred(z0) [0] #add(#neg(#s(#s(z0))), z1) -> #pred(#add(#pos(#s(z0)), z1)) [0] #add(#pos(#s(#0)), z0) -> #succ(z0) [0] #add(#pos(#s(#s(z0))), z1) -> #succ(#add(#pos(#s(z0)), z1)) [0] #and(#false, #false) -> #false [0] #and(#false, #true) -> #false [0] #and(#true, #false) -> #false [0] #and(#true, #true) -> #true [0] #ckgt(#EQ) -> #false [0] #ckgt(#GT) -> #true [0] #ckgt(#LT) -> #false [0] #compare(#0, #0) -> #EQ [0] #compare(#0, #neg(z0)) -> #GT [0] #compare(#0, #pos(z0)) -> #LT [0] #compare(#0, #s(z0)) -> #LT [0] #compare(#neg(z0), #0) -> #LT [0] #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) [0] #compare(#neg(z0), #pos(z1)) -> #LT [0] #compare(#pos(z0), #0) -> #GT [0] #compare(#pos(z0), #neg(z1)) -> #GT [0] #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) [0] #compare(#s(z0), #0) -> #GT [0] #compare(#s(z0), #s(z1)) -> #compare(z0, z1) [0] #eq(#0, #0) -> #true [0] #eq(#0, #neg(z0)) -> #false [0] #eq(#0, #pos(z0)) -> #false [0] #eq(#0, #s(z0)) -> #false [0] #eq(#neg(z0), #0) -> #false [0] #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) [0] #eq(#neg(z0), #pos(z1)) -> #false [0] #eq(#pos(z0), #0) -> #false [0] #eq(#pos(z0), #neg(z1)) -> #false [0] #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) [0] #eq(#s(z0), #0) -> #false [0] #eq(#s(z0), #s(z1)) -> #eq(z0, z1) [0] #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) [0] #eq(::(z0, z1), nil) -> #false [0] #eq(nil, ::(z0, z1)) -> #false [0] #eq(nil, nil) -> #true [0] #pred(#0) -> #neg(#s(#0)) [0] #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) [0] #pred(#pos(#s(#0))) -> #0 [0] #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) [0] #succ(#0) -> #pos(#s(#0)) [0] #succ(#neg(#s(#0))) -> #0 [0] #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) [0] #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) [0] #abs(#0) -> #0 [0] #abs(#neg(z0)) -> #pos(z0) [0] #abs(#pos(z0)) -> #pos(z0) [0] #abs(#s(z0)) -> #pos(#s(z0)) [0] #equal(z0, z1) -> #eq(z0, z1) [0] #greater(z0, z1) -> #ckgt(#compare(z0, z1)) [0] plus(z0, z1) -> #add(z0, z1) [0] firstline(z0) -> firstline#1(z0) [0] firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) [0] firstline#1(nil) -> nil [0] lcs(z0, z1) -> lcs#1(lcstable(z0, z1)) [0] lcs#1(z0) -> lcs#2(z0) [0] lcs#2(::(z0, z1)) -> lcs#3(z0) [0] lcs#2(nil) -> #abs(#0) [0] lcs#3(::(z0, z1)) -> z0 [0] lcs#3(nil) -> #abs(#0) [0] lcstable(z0, z1) -> lcstable#1(z0, z1) [0] lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable(z1, z2), z2, z0) [0] lcstable#1(nil, z0) -> ::(firstline(z0), nil) [0] lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) [0] lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) [0] lcstable#3(nil, z0, z1) -> nil [0] max(z0, z1) -> max#1(#greater(z0, z1), z0, z1) [0] max#1(#false, z0, z1) -> z1 [0] max#1(#true, z0, z1) -> z0 [0] newline(z0, z1, z2) -> newline#1(z2, z1, z0) [0] newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) [0] newline#1(nil, z0, z1) -> nil [0] newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline(z4, z1, z3), z0, z1, z2, z4) [0] newline#2(nil, z0, z1, z2) -> nil [0] newline#3(z0, z1, z2, z3, z4) -> newline#4(right(z0), z1, z2, z0, z3, z4) [0] newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right(z2), z1, z3, z0, z4, z5) [0] newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#equal(z4, z5), z1, z0, z3), z2) [0] newline#6(z0, z1) -> ::(z0, z1) [0] newline#7(#false, z0, z1, z2) -> max(z0, z2) [0] newline#7(#true, z0, z1, z2) -> plus(z1, #pos(#s(#0))) [0] right(z0) -> right#1(z0) [0] right#1(::(z0, z1)) -> z0 [0] right#1(nil) -> #abs(#0) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: #ABS(#0) -> c49 [1] #ABS(#neg(z0)) -> c50 [1] #ABS(#pos(z0)) -> c51 [1] #ABS(#s(z0)) -> c52 [1] #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) [1] #GREATER(z0, z1) -> c54(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) [1] +'(z0, z1) -> c55(#ADD(z0, z1)) [1] FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) [1] FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) [1] FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) [1] FIRSTLINE#1(nil) -> c59 [1] LCS(z0, z1) -> c60(LCS#1(lcstable(z0, z1)), LCSTABLE(z0, z1)) [1] LCS#1(z0) -> c61(LCS#2(z0)) [1] LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) [1] LCS#2(nil) -> c63(#ABS(#0)) [1] LCS#3(::(z0, z1)) -> c64 [1] LCS#3(nil) -> c65(#ABS(#0)) [1] LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) [1] LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable(z1, z2), z2, z0), LCSTABLE(z1, z2)) [1] LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) [1] LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) [1] LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) [1] LCSTABLE#3(nil, z0, z1) -> c71 [1] MAX(z0, z1) -> c72(MAX#1(#greater(z0, z1), z0, z1), #GREATER(z0, z1)) [1] MAX#1(#false, z0, z1) -> c73 [1] MAX#1(#true, z0, z1) -> c74 [1] NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) [1] NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) [1] NEWLINE#1(nil, z0, z1) -> c77 [1] NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline(z4, z1, z3), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) [1] NEWLINE#2(nil, z0, z1, z2) -> c79 [1] NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right(z0), z1, z2, z0, z3, z4), RIGHT(z0)) [1] NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right(z2), z1, z3, z0, z4, z5), RIGHT(z2)) [1] NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#equal(z4, z5), z1, z0, z3), z2), NEWLINE#7(#equal(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) [1] NEWLINE#6(z0, z1) -> c83 [1] NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) [1] NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) [1] RIGHT(z0) -> c86(RIGHT#1(z0)) [1] RIGHT#1(::(z0, z1)) -> c87 [1] RIGHT#1(nil) -> c88(#ABS(#0)) [1] #ADD(#0, z0) -> c [0] #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) [0] #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) [0] #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) [0] #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) [0] #AND(#false, #false) -> c5 [0] #AND(#false, #true) -> c6 [0] #AND(#true, #false) -> c7 [0] #AND(#true, #true) -> c8 [0] #CKGT(#EQ) -> c9 [0] #CKGT(#GT) -> c10 [0] #CKGT(#LT) -> c11 [0] #COMPARE(#0, #0) -> c12 [0] #COMPARE(#0, #neg(z0)) -> c13 [0] #COMPARE(#0, #pos(z0)) -> c14 [0] #COMPARE(#0, #s(z0)) -> c15 [0] #COMPARE(#neg(z0), #0) -> c16 [0] #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) [0] #COMPARE(#neg(z0), #pos(z1)) -> c18 [0] #COMPARE(#pos(z0), #0) -> c19 [0] #COMPARE(#pos(z0), #neg(z1)) -> c20 [0] #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) [0] #COMPARE(#s(z0), #0) -> c22 [0] #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) [0] #EQ'(#0, #0) -> c24 [0] #EQ'(#0, #neg(z0)) -> c25 [0] #EQ'(#0, #pos(z0)) -> c26 [0] #EQ'(#0, #s(z0)) -> c27 [0] #EQ'(#neg(z0), #0) -> c28 [0] #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) [0] #EQ'(#neg(z0), #pos(z1)) -> c30 [0] #EQ'(#pos(z0), #0) -> c31 [0] #EQ'(#pos(z0), #neg(z1)) -> c32 [0] #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) [0] #EQ'(#s(z0), #0) -> c34 [0] #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) [0] #EQ'(::(z0, z1), nil) -> c38 [0] #EQ'(nil, ::(z0, z1)) -> c39 [0] #EQ'(nil, nil) -> c40 [0] #PRED(#0) -> c41 [0] #PRED(#neg(#s(z0))) -> c42 [0] #PRED(#pos(#s(#0))) -> c43 [0] #PRED(#pos(#s(#s(z0)))) -> c44 [0] #SUCC(#0) -> c45 [0] #SUCC(#neg(#s(#0))) -> c46 [0] #SUCC(#neg(#s(#s(z0)))) -> c47 [0] #SUCC(#pos(#s(z0))) -> c48 [0] #add(#0, z0) -> z0 [0] #add(#neg(#s(#0)), z0) -> #pred(z0) [0] #add(#neg(#s(#s(z0))), z1) -> #pred(#add(#pos(#s(z0)), z1)) [0] #add(#pos(#s(#0)), z0) -> #succ(z0) [0] #add(#pos(#s(#s(z0))), z1) -> #succ(#add(#pos(#s(z0)), z1)) [0] #and(#false, #false) -> #false [0] #and(#false, #true) -> #false [0] #and(#true, #false) -> #false [0] #and(#true, #true) -> #true [0] #ckgt(#EQ) -> #false [0] #ckgt(#GT) -> #true [0] #ckgt(#LT) -> #false [0] #compare(#0, #0) -> #EQ [0] #compare(#0, #neg(z0)) -> #GT [0] #compare(#0, #pos(z0)) -> #LT [0] #compare(#0, #s(z0)) -> #LT [0] #compare(#neg(z0), #0) -> #LT [0] #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) [0] #compare(#neg(z0), #pos(z1)) -> #LT [0] #compare(#pos(z0), #0) -> #GT [0] #compare(#pos(z0), #neg(z1)) -> #GT [0] #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) [0] #compare(#s(z0), #0) -> #GT [0] #compare(#s(z0), #s(z1)) -> #compare(z0, z1) [0] #eq(#0, #0) -> #true [0] #eq(#0, #neg(z0)) -> #false [0] #eq(#0, #pos(z0)) -> #false [0] #eq(#0, #s(z0)) -> #false [0] #eq(#neg(z0), #0) -> #false [0] #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) [0] #eq(#neg(z0), #pos(z1)) -> #false [0] #eq(#pos(z0), #0) -> #false [0] #eq(#pos(z0), #neg(z1)) -> #false [0] #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) [0] #eq(#s(z0), #0) -> #false [0] #eq(#s(z0), #s(z1)) -> #eq(z0, z1) [0] #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) [0] #eq(::(z0, z1), nil) -> #false [0] #eq(nil, ::(z0, z1)) -> #false [0] #eq(nil, nil) -> #true [0] #pred(#0) -> #neg(#s(#0)) [0] #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) [0] #pred(#pos(#s(#0))) -> #0 [0] #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) [0] #succ(#0) -> #pos(#s(#0)) [0] #succ(#neg(#s(#0))) -> #0 [0] #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) [0] #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) [0] #abs(#0) -> #0 [0] #abs(#neg(z0)) -> #pos(z0) [0] #abs(#pos(z0)) -> #pos(z0) [0] #abs(#s(z0)) -> #pos(#s(z0)) [0] #equal(z0, z1) -> #eq(z0, z1) [0] #greater(z0, z1) -> #ckgt(#compare(z0, z1)) [0] plus(z0, z1) -> #add(z0, z1) [0] firstline(z0) -> firstline#1(z0) [0] firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) [0] firstline#1(nil) -> nil [0] lcs(z0, z1) -> lcs#1(lcstable(z0, z1)) [0] lcs#1(z0) -> lcs#2(z0) [0] lcs#2(::(z0, z1)) -> lcs#3(z0) [0] lcs#2(nil) -> #abs(#0) [0] lcs#3(::(z0, z1)) -> z0 [0] lcs#3(nil) -> #abs(#0) [0] lcstable(z0, z1) -> lcstable#1(z0, z1) [0] lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable(z1, z2), z2, z0) [0] lcstable#1(nil, z0) -> ::(firstline(z0), nil) [0] lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) [0] lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) [0] lcstable#3(nil, z0, z1) -> nil [0] max(z0, z1) -> max#1(#greater(z0, z1), z0, z1) [0] max#1(#false, z0, z1) -> z1 [0] max#1(#true, z0, z1) -> z0 [0] newline(z0, z1, z2) -> newline#1(z2, z1, z0) [0] newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) [0] newline#1(nil, z0, z1) -> nil [0] newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline(z4, z1, z3), z0, z1, z2, z4) [0] newline#2(nil, z0, z1, z2) -> nil [0] newline#3(z0, z1, z2, z3, z4) -> newline#4(right(z0), z1, z2, z0, z3, z4) [0] newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right(z2), z1, z3, z0, z4, z5) [0] newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#equal(z4, z5), z1, z0, z3), z2) [0] newline#6(z0, z1) -> ::(z0, z1) [0] newline#7(#false, z0, z1, z2) -> max(z0, z2) [0] newline#7(#true, z0, z1, z2) -> plus(z1, #pos(#s(#0))) [0] right(z0) -> right#1(z0) [0] right#1(::(z0, z1)) -> z0 [0] right#1(nil) -> #abs(#0) [0] The TRS has the following type information: #ABS :: #0:#neg:#pos:#s::::nil -> c49:c50:c51:c52 #0 :: #0:#neg:#pos:#s::::nil c49 :: c49:c50:c51:c52 #neg :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil c50 :: c49:c50:c51:c52 #pos :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil c51 :: c49:c50:c51:c52 #s :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil c52 :: c49:c50:c51:c52 #EQUAL :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c53 c53 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 -> c53 #EQ' :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 #GREATER :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c54 c54 :: c9:c10:c11 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c54 #CKGT :: #EQ:#GT:#LT -> c9:c10:c11 #compare :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #EQ:#GT:#LT #COMPARE :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 +' :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c55 c55 :: c:c1:c2:c3:c4 -> c55 #ADD :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c:c1:c2:c3:c4 FIRSTLINE :: #0:#neg:#pos:#s::::nil -> c56 c56 :: c57:c58:c59 -> c56 FIRSTLINE#1 :: #0:#neg:#pos:#s::::nil -> c57:c58:c59 :: :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil c57 :: c49:c50:c51:c52 -> c57:c58:c59 c58 :: c56 -> c57:c58:c59 nil :: #0:#neg:#pos:#s::::nil c59 :: c57:c58:c59 LCS :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c60 c60 :: c61 -> c66 -> c60 LCS#1 :: #0:#neg:#pos:#s::::nil -> c61 lcstable :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil LCSTABLE :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c66 c61 :: c62:c63 -> c61 LCS#2 :: #0:#neg:#pos:#s::::nil -> c62:c63 c62 :: c64:c65 -> c62:c63 LCS#3 :: #0:#neg:#pos:#s::::nil -> c64:c65 c63 :: c49:c50:c51:c52 -> c62:c63 c64 :: c64:c65 c65 :: c49:c50:c51:c52 -> c64:c65 c66 :: c67:c68 -> c66 LCSTABLE#1 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c67:c68 c67 :: c69 -> c66 -> c67:c68 LCSTABLE#2 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c69 c68 :: c56 -> c67:c68 c69 :: c70:c71 -> c69 LCSTABLE#3 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c70:c71 c70 :: c75 -> c70:c71 NEWLINE :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c75 c71 :: c70:c71 MAX :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c72 c72 :: c73:c74 -> c54 -> c72 MAX#1 :: #false:#true -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c73:c74 #greater :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #false:#true #false :: #false:#true c73 :: c73:c74 #true :: #false:#true c74 :: c73:c74 c75 :: c76:c77 -> c75 NEWLINE#1 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c76:c77 c76 :: c78:c79 -> c76:c77 NEWLINE#2 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c78:c79 c77 :: c76:c77 c78 :: c80 -> c75 -> c78:c79 NEWLINE#3 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c80 newline :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil c79 :: c78:c79 c80 :: c81 -> c86 -> c80 NEWLINE#4 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c81 right :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil RIGHT :: #0:#neg:#pos:#s::::nil -> c86 c81 :: c82 -> c86 -> c81 NEWLINE#5 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c82 c82 :: c83 -> c84:c85 -> c53 -> c82 NEWLINE#6 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c83 newline#7 :: #false:#true -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil #equal :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #false:#true NEWLINE#7 :: #false:#true -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> c84:c85 c83 :: c83 c84 :: c72 -> c84:c85 c85 :: c55 -> c84:c85 c86 :: c87:c88 -> c86 RIGHT#1 :: #0:#neg:#pos:#s::::nil -> c87:c88 c87 :: c87:c88 c88 :: c49:c50:c51:c52 -> c87:c88 c :: c:c1:c2:c3:c4 c1 :: c41:c42:c43:c44 -> c:c1:c2:c3:c4 #PRED :: #0:#neg:#pos:#s::::nil -> c41:c42:c43:c44 c2 :: c41:c42:c43:c44 -> c:c1:c2:c3:c4 -> c:c1:c2:c3:c4 #add :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil c3 :: c45:c46:c47:c48 -> c:c1:c2:c3:c4 #SUCC :: #0:#neg:#pos:#s::::nil -> c45:c46:c47:c48 c4 :: c45:c46:c47:c48 -> c:c1:c2:c3:c4 -> c:c1:c2:c3:c4 #AND :: #false:#true -> #false:#true -> c5:c6:c7:c8 c5 :: c5:c6:c7:c8 c6 :: c5:c6:c7:c8 c7 :: c5:c6:c7:c8 c8 :: c5:c6:c7:c8 #EQ :: #EQ:#GT:#LT c9 :: c9:c10:c11 #GT :: #EQ:#GT:#LT c10 :: c9:c10:c11 #LT :: #EQ:#GT:#LT c11 :: c9:c10:c11 c12 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c13 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c14 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c15 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c16 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c17 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c18 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c19 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c20 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c21 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c22 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c23 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23 c24 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c25 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c26 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c27 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c28 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c29 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c30 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c31 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c32 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c33 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c34 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c35 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c36 :: c5:c6:c7:c8 -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 #eq :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #false:#true c37 :: c5:c6:c7:c8 -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c38 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c39 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c40 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40 c41 :: c41:c42:c43:c44 c42 :: c41:c42:c43:c44 c43 :: c41:c42:c43:c44 c44 :: c41:c42:c43:c44 c45 :: c45:c46:c47:c48 c46 :: c45:c46:c47:c48 c47 :: c45:c46:c47:c48 c48 :: c45:c46:c47:c48 #pred :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil #succ :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil #and :: #false:#true -> #false:#true -> #false:#true #ckgt :: #EQ:#GT:#LT -> #false:#true #abs :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil plus :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil firstline :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil firstline#1 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil lcs :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil lcs#1 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil lcs#2 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil lcs#3 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil lcstable#1 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil lcstable#2 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil lcstable#3 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil max :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil max#1 :: #false:#true -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil newline#1 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil newline#2 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil newline#3 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil newline#4 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil newline#5 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil newline#6 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil right#1 :: #0:#neg:#pos:#s::::nil -> #0:#neg:#pos:#s::::nil Rewrite Strategy: INNERMOST ---------------------------------------- (9) 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: #ABS_1 #EQUAL_2 #GREATER_2 +'_2 FIRSTLINE_1 FIRSTLINE#1_1 LCS_2 LCS#1_1 LCS#2_1 LCS#3_1 LCSTABLE_2 LCSTABLE#1_2 LCSTABLE#2_3 LCSTABLE#3_3 MAX_2 MAX#1_3 NEWLINE_3 NEWLINE#1_3 NEWLINE#2_4 NEWLINE#3_5 NEWLINE#4_6 NEWLINE#5_6 NEWLINE#6_2 NEWLINE#7_4 RIGHT_1 RIGHT#1_1 (c) The following functions are completely defined: #ADD_2 #AND_2 #CKGT_1 #COMPARE_2 #EQ'_2 #PRED_1 #SUCC_1 #add_2 #and_2 #ckgt_1 #compare_2 #eq_2 #pred_1 #succ_1 #abs_1 #equal_2 #greater_2 plus_2 firstline_1 firstline#1_1 lcs_2 lcs#1_1 lcs#2_1 lcs#3_1 lcstable_2 lcstable#1_2 lcstable#2_3 lcstable#3_3 max_2 max#1_3 newline_3 newline#1_3 newline#2_4 newline#3_5 newline#4_6 newline#5_6 newline#6_2 newline#7_4 right_1 right#1_1 Due to the following rules being added: #ADD(v0, v1) -> c [0] #AND(v0, v1) -> null_#AND [0] #CKGT(v0) -> null_#CKGT [0] #COMPARE(v0, v1) -> null_#COMPARE [0] #EQ'(v0, v1) -> null_#EQ' [0] #PRED(v0) -> null_#PRED [0] #SUCC(v0) -> null_#SUCC [0] #add(v0, v1) -> null_#add [0] #and(v0, v1) -> null_#and [0] #ckgt(v0) -> null_#ckgt [0] #compare(v0, v1) -> null_#compare [0] #eq(v0, v1) -> null_#eq [0] #pred(v0) -> null_#pred [0] #succ(v0) -> null_#succ [0] #abs(v0) -> null_#abs [0] #equal(v0, v1) -> null_#equal [0] #greater(v0, v1) -> null_#greater [0] plus(v0, v1) -> null_plus [0] firstline(v0) -> null_firstline [0] firstline#1(v0) -> null_firstline#1 [0] lcs(v0, v1) -> null_lcs [0] lcs#1(v0) -> null_lcs#1 [0] lcs#2(v0) -> null_lcs#2 [0] lcs#3(v0) -> null_lcs#3 [0] lcstable(v0, v1) -> null_lcstable [0] lcstable#1(v0, v1) -> null_lcstable#1 [0] lcstable#2(v0, v1, v2) -> null_lcstable#2 [0] lcstable#3(v0, v1, v2) -> null_lcstable#3 [0] max(v0, v1) -> null_max [0] max#1(v0, v1, v2) -> null_max#1 [0] newline(v0, v1, v2) -> null_newline [0] newline#1(v0, v1, v2) -> null_newline#1 [0] newline#2(v0, v1, v2, v3) -> null_newline#2 [0] newline#3(v0, v1, v2, v3, v4) -> null_newline#3 [0] newline#4(v0, v1, v2, v3, v4, v5) -> null_newline#4 [0] newline#5(v0, v1, v2, v3, v4, v5) -> null_newline#5 [0] newline#6(v0, v1) -> null_newline#6 [0] newline#7(v0, v1, v2, v3) -> null_newline#7 [0] right(v0) -> null_right [0] right#1(v0) -> null_right#1 [0] And the following fresh constants: null_#AND, null_#CKGT, null_#COMPARE, null_#EQ', null_#PRED, null_#SUCC, null_#add, null_#and, null_#ckgt, null_#compare, null_#eq, null_#pred, null_#succ, null_#abs, null_#equal, null_#greater, null_plus, null_firstline, null_firstline#1, null_lcs, null_lcs#1, null_lcs#2, null_lcs#3, null_lcstable, null_lcstable#1, null_lcstable#2, null_lcstable#3, null_max, null_max#1, null_newline, null_newline#1, null_newline#2, null_newline#3, null_newline#4, null_newline#5, null_newline#6, null_newline#7, null_right, null_right#1, const, const1, const2, const3, const4, const5, const6, const7, const8, const9, const10, const11, const12, const13, const14, const15, const16 ---------------------------------------- (10) 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: #ABS(#0) -> c49 [1] #ABS(#neg(z0)) -> c50 [1] #ABS(#pos(z0)) -> c51 [1] #ABS(#s(z0)) -> c52 [1] #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) [1] #GREATER(z0, z1) -> c54(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) [1] +'(z0, z1) -> c55(#ADD(z0, z1)) [1] FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) [1] FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) [1] FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) [1] FIRSTLINE#1(nil) -> c59 [1] LCS(z0, z1) -> c60(LCS#1(lcstable(z0, z1)), LCSTABLE(z0, z1)) [1] LCS#1(z0) -> c61(LCS#2(z0)) [1] LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) [1] LCS#2(nil) -> c63(#ABS(#0)) [1] LCS#3(::(z0, z1)) -> c64 [1] LCS#3(nil) -> c65(#ABS(#0)) [1] LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) [1] LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable(z1, z2), z2, z0), LCSTABLE(z1, z2)) [1] LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) [1] LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) [1] LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) [1] LCSTABLE#3(nil, z0, z1) -> c71 [1] MAX(z0, z1) -> c72(MAX#1(#greater(z0, z1), z0, z1), #GREATER(z0, z1)) [1] MAX#1(#false, z0, z1) -> c73 [1] MAX#1(#true, z0, z1) -> c74 [1] NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) [1] NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) [1] NEWLINE#1(nil, z0, z1) -> c77 [1] NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline(z4, z1, z3), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) [1] NEWLINE#2(nil, z0, z1, z2) -> c79 [1] NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right(z0), z1, z2, z0, z3, z4), RIGHT(z0)) [1] NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right(z2), z1, z3, z0, z4, z5), RIGHT(z2)) [1] NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#equal(z4, z5), z1, z0, z3), z2), NEWLINE#7(#equal(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) [1] NEWLINE#6(z0, z1) -> c83 [1] NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) [1] NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) [1] RIGHT(z0) -> c86(RIGHT#1(z0)) [1] RIGHT#1(::(z0, z1)) -> c87 [1] RIGHT#1(nil) -> c88(#ABS(#0)) [1] #ADD(#0, z0) -> c [0] #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) [0] #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) [0] #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) [0] #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) [0] #AND(#false, #false) -> c5 [0] #AND(#false, #true) -> c6 [0] #AND(#true, #false) -> c7 [0] #AND(#true, #true) -> c8 [0] #CKGT(#EQ) -> c9 [0] #CKGT(#GT) -> c10 [0] #CKGT(#LT) -> c11 [0] #COMPARE(#0, #0) -> c12 [0] #COMPARE(#0, #neg(z0)) -> c13 [0] #COMPARE(#0, #pos(z0)) -> c14 [0] #COMPARE(#0, #s(z0)) -> c15 [0] #COMPARE(#neg(z0), #0) -> c16 [0] #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) [0] #COMPARE(#neg(z0), #pos(z1)) -> c18 [0] #COMPARE(#pos(z0), #0) -> c19 [0] #COMPARE(#pos(z0), #neg(z1)) -> c20 [0] #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) [0] #COMPARE(#s(z0), #0) -> c22 [0] #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) [0] #EQ'(#0, #0) -> c24 [0] #EQ'(#0, #neg(z0)) -> c25 [0] #EQ'(#0, #pos(z0)) -> c26 [0] #EQ'(#0, #s(z0)) -> c27 [0] #EQ'(#neg(z0), #0) -> c28 [0] #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) [0] #EQ'(#neg(z0), #pos(z1)) -> c30 [0] #EQ'(#pos(z0), #0) -> c31 [0] #EQ'(#pos(z0), #neg(z1)) -> c32 [0] #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) [0] #EQ'(#s(z0), #0) -> c34 [0] #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) [0] #EQ'(::(z0, z1), nil) -> c38 [0] #EQ'(nil, ::(z0, z1)) -> c39 [0] #EQ'(nil, nil) -> c40 [0] #PRED(#0) -> c41 [0] #PRED(#neg(#s(z0))) -> c42 [0] #PRED(#pos(#s(#0))) -> c43 [0] #PRED(#pos(#s(#s(z0)))) -> c44 [0] #SUCC(#0) -> c45 [0] #SUCC(#neg(#s(#0))) -> c46 [0] #SUCC(#neg(#s(#s(z0)))) -> c47 [0] #SUCC(#pos(#s(z0))) -> c48 [0] #add(#0, z0) -> z0 [0] #add(#neg(#s(#0)), z0) -> #pred(z0) [0] #add(#neg(#s(#s(z0))), z1) -> #pred(#add(#pos(#s(z0)), z1)) [0] #add(#pos(#s(#0)), z0) -> #succ(z0) [0] #add(#pos(#s(#s(z0))), z1) -> #succ(#add(#pos(#s(z0)), z1)) [0] #and(#false, #false) -> #false [0] #and(#false, #true) -> #false [0] #and(#true, #false) -> #false [0] #and(#true, #true) -> #true [0] #ckgt(#EQ) -> #false [0] #ckgt(#GT) -> #true [0] #ckgt(#LT) -> #false [0] #compare(#0, #0) -> #EQ [0] #compare(#0, #neg(z0)) -> #GT [0] #compare(#0, #pos(z0)) -> #LT [0] #compare(#0, #s(z0)) -> #LT [0] #compare(#neg(z0), #0) -> #LT [0] #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) [0] #compare(#neg(z0), #pos(z1)) -> #LT [0] #compare(#pos(z0), #0) -> #GT [0] #compare(#pos(z0), #neg(z1)) -> #GT [0] #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) [0] #compare(#s(z0), #0) -> #GT [0] #compare(#s(z0), #s(z1)) -> #compare(z0, z1) [0] #eq(#0, #0) -> #true [0] #eq(#0, #neg(z0)) -> #false [0] #eq(#0, #pos(z0)) -> #false [0] #eq(#0, #s(z0)) -> #false [0] #eq(#neg(z0), #0) -> #false [0] #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) [0] #eq(#neg(z0), #pos(z1)) -> #false [0] #eq(#pos(z0), #0) -> #false [0] #eq(#pos(z0), #neg(z1)) -> #false [0] #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) [0] #eq(#s(z0), #0) -> #false [0] #eq(#s(z0), #s(z1)) -> #eq(z0, z1) [0] #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) [0] #eq(::(z0, z1), nil) -> #false [0] #eq(nil, ::(z0, z1)) -> #false [0] #eq(nil, nil) -> #true [0] #pred(#0) -> #neg(#s(#0)) [0] #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) [0] #pred(#pos(#s(#0))) -> #0 [0] #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) [0] #succ(#0) -> #pos(#s(#0)) [0] #succ(#neg(#s(#0))) -> #0 [0] #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) [0] #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) [0] #abs(#0) -> #0 [0] #abs(#neg(z0)) -> #pos(z0) [0] #abs(#pos(z0)) -> #pos(z0) [0] #abs(#s(z0)) -> #pos(#s(z0)) [0] #equal(z0, z1) -> #eq(z0, z1) [0] #greater(z0, z1) -> #ckgt(#compare(z0, z1)) [0] plus(z0, z1) -> #add(z0, z1) [0] firstline(z0) -> firstline#1(z0) [0] firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) [0] firstline#1(nil) -> nil [0] lcs(z0, z1) -> lcs#1(lcstable(z0, z1)) [0] lcs#1(z0) -> lcs#2(z0) [0] lcs#2(::(z0, z1)) -> lcs#3(z0) [0] lcs#2(nil) -> #abs(#0) [0] lcs#3(::(z0, z1)) -> z0 [0] lcs#3(nil) -> #abs(#0) [0] lcstable(z0, z1) -> lcstable#1(z0, z1) [0] lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable(z1, z2), z2, z0) [0] lcstable#1(nil, z0) -> ::(firstline(z0), nil) [0] lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) [0] lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) [0] lcstable#3(nil, z0, z1) -> nil [0] max(z0, z1) -> max#1(#greater(z0, z1), z0, z1) [0] max#1(#false, z0, z1) -> z1 [0] max#1(#true, z0, z1) -> z0 [0] newline(z0, z1, z2) -> newline#1(z2, z1, z0) [0] newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) [0] newline#1(nil, z0, z1) -> nil [0] newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline(z4, z1, z3), z0, z1, z2, z4) [0] newline#2(nil, z0, z1, z2) -> nil [0] newline#3(z0, z1, z2, z3, z4) -> newline#4(right(z0), z1, z2, z0, z3, z4) [0] newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right(z2), z1, z3, z0, z4, z5) [0] newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#equal(z4, z5), z1, z0, z3), z2) [0] newline#6(z0, z1) -> ::(z0, z1) [0] newline#7(#false, z0, z1, z2) -> max(z0, z2) [0] newline#7(#true, z0, z1, z2) -> plus(z1, #pos(#s(#0))) [0] right(z0) -> right#1(z0) [0] right#1(::(z0, z1)) -> z0 [0] right#1(nil) -> #abs(#0) [0] #ADD(v0, v1) -> c [0] #AND(v0, v1) -> null_#AND [0] #CKGT(v0) -> null_#CKGT [0] #COMPARE(v0, v1) -> null_#COMPARE [0] #EQ'(v0, v1) -> null_#EQ' [0] #PRED(v0) -> null_#PRED [0] #SUCC(v0) -> null_#SUCC [0] #add(v0, v1) -> null_#add [0] #and(v0, v1) -> null_#and [0] #ckgt(v0) -> null_#ckgt [0] #compare(v0, v1) -> null_#compare [0] #eq(v0, v1) -> null_#eq [0] #pred(v0) -> null_#pred [0] #succ(v0) -> null_#succ [0] #abs(v0) -> null_#abs [0] #equal(v0, v1) -> null_#equal [0] #greater(v0, v1) -> null_#greater [0] plus(v0, v1) -> null_plus [0] firstline(v0) -> null_firstline [0] firstline#1(v0) -> null_firstline#1 [0] lcs(v0, v1) -> null_lcs [0] lcs#1(v0) -> null_lcs#1 [0] lcs#2(v0) -> null_lcs#2 [0] lcs#3(v0) -> null_lcs#3 [0] lcstable(v0, v1) -> null_lcstable [0] lcstable#1(v0, v1) -> null_lcstable#1 [0] lcstable#2(v0, v1, v2) -> null_lcstable#2 [0] lcstable#3(v0, v1, v2) -> null_lcstable#3 [0] max(v0, v1) -> null_max [0] max#1(v0, v1, v2) -> null_max#1 [0] newline(v0, v1, v2) -> null_newline [0] newline#1(v0, v1, v2) -> null_newline#1 [0] newline#2(v0, v1, v2, v3) -> null_newline#2 [0] newline#3(v0, v1, v2, v3, v4) -> null_newline#3 [0] newline#4(v0, v1, v2, v3, v4, v5) -> null_newline#4 [0] newline#5(v0, v1, v2, v3, v4, v5) -> null_newline#5 [0] newline#6(v0, v1) -> null_newline#6 [0] newline#7(v0, v1, v2, v3) -> null_newline#7 [0] right(v0) -> null_right [0] right#1(v0) -> null_right#1 [0] The TRS has the following type information: #ABS :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c49:c50:c51:c52 #0 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c49 :: c49:c50:c51:c52 #neg :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c50 :: c49:c50:c51:c52 #pos :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c51 :: c49:c50:c51:c52 #s :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c52 :: c49:c50:c51:c52 #EQUAL :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c53 c53 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c53 #EQ' :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' #GREATER :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c54 c54 :: c9:c10:c11:null_#CKGT -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE -> c54 #CKGT :: #EQ:#GT:#LT:null_#compare -> c9:c10:c11:null_#CKGT #compare :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #EQ:#GT:#LT:null_#compare #COMPARE :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE +' :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c55 c55 :: c:c1:c2:c3:c4 -> c55 #ADD :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c:c1:c2:c3:c4 FIRSTLINE :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c56 c56 :: c57:c58:c59 -> c56 FIRSTLINE#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c57:c58:c59 :: :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c57 :: c49:c50:c51:c52 -> c57:c58:c59 c58 :: c56 -> c57:c58:c59 nil :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c59 :: c57:c58:c59 LCS :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c60 c60 :: c61 -> c66 -> c60 LCS#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c61 lcstable :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 LCSTABLE :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c66 c61 :: c62:c63 -> c61 LCS#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c62:c63 c62 :: c64:c65 -> c62:c63 LCS#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c64:c65 c63 :: c49:c50:c51:c52 -> c62:c63 c64 :: c64:c65 c65 :: c49:c50:c51:c52 -> c64:c65 c66 :: c67:c68 -> c66 LCSTABLE#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c67:c68 c67 :: c69 -> c66 -> c67:c68 LCSTABLE#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c69 c68 :: c56 -> c67:c68 c69 :: c70:c71 -> c69 LCSTABLE#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c70:c71 c70 :: c75 -> c70:c71 NEWLINE :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c75 c71 :: c70:c71 MAX :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c72 c72 :: c73:c74 -> c54 -> c72 MAX#1 :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c73:c74 #greater :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater #false :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater c73 :: c73:c74 #true :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater c74 :: c73:c74 c75 :: c76:c77 -> c75 NEWLINE#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c76:c77 c76 :: c78:c79 -> c76:c77 NEWLINE#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c78:c79 c77 :: c76:c77 c78 :: c80 -> c75 -> c78:c79 NEWLINE#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c80 newline :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c79 :: c78:c79 c80 :: c81 -> c86 -> c80 NEWLINE#4 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c81 right :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 RIGHT :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c86 c81 :: c82 -> c86 -> c81 NEWLINE#5 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c82 c82 :: c83 -> c84:c85 -> c53 -> c82 NEWLINE#6 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c83 newline#7 :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 #equal :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater NEWLINE#7 :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c84:c85 c83 :: c83 c84 :: c72 -> c84:c85 c85 :: c55 -> c84:c85 c86 :: c87:c88 -> c86 RIGHT#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c87:c88 c87 :: c87:c88 c88 :: c49:c50:c51:c52 -> c87:c88 c :: c:c1:c2:c3:c4 c1 :: c41:c42:c43:c44:null_#PRED -> c:c1:c2:c3:c4 #PRED :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c41:c42:c43:c44:null_#PRED c2 :: c41:c42:c43:c44:null_#PRED -> c:c1:c2:c3:c4 -> c:c1:c2:c3:c4 #add :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c3 :: c45:c46:c47:c48:null_#SUCC -> c:c1:c2:c3:c4 #SUCC :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c45:c46:c47:c48:null_#SUCC c4 :: c45:c46:c47:c48:null_#SUCC -> c:c1:c2:c3:c4 -> c:c1:c2:c3:c4 #AND :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> c5:c6:c7:c8:null_#AND c5 :: c5:c6:c7:c8:null_#AND c6 :: c5:c6:c7:c8:null_#AND c7 :: c5:c6:c7:c8:null_#AND c8 :: c5:c6:c7:c8:null_#AND #EQ :: #EQ:#GT:#LT:null_#compare c9 :: c9:c10:c11:null_#CKGT #GT :: #EQ:#GT:#LT:null_#compare c10 :: c9:c10:c11:null_#CKGT #LT :: #EQ:#GT:#LT:null_#compare c11 :: c9:c10:c11:null_#CKGT c12 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c13 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c14 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c15 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c16 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c17 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c18 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c19 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c20 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c21 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c22 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c23 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c24 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c25 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c26 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c27 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c28 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c29 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c30 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c31 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c32 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c33 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c34 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c35 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c36 :: c5:c6:c7:c8:null_#AND -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' #eq :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater c37 :: c5:c6:c7:c8:null_#AND -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c38 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c39 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c40 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c41 :: c41:c42:c43:c44:null_#PRED c42 :: c41:c42:c43:c44:null_#PRED c43 :: c41:c42:c43:c44:null_#PRED c44 :: c41:c42:c43:c44:null_#PRED c45 :: c45:c46:c47:c48:null_#SUCC c46 :: c45:c46:c47:c48:null_#SUCC c47 :: c45:c46:c47:c48:null_#SUCC c48 :: c45:c46:c47:c48:null_#SUCC #pred :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 #succ :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 #and :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater #ckgt :: #EQ:#GT:#LT:null_#compare -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater #abs :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 plus :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 firstline :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 firstline#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcs :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcs#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcs#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcs#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcstable#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcstable#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcstable#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 max :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 max#1 :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#4 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#5 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#6 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 right#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#AND :: c5:c6:c7:c8:null_#AND null_#CKGT :: c9:c10:c11:null_#CKGT null_#COMPARE :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE null_#EQ' :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' null_#PRED :: c41:c42:c43:c44:null_#PRED null_#SUCC :: c45:c46:c47:c48:null_#SUCC null_#add :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#and :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_#ckgt :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_#compare :: #EQ:#GT:#LT:null_#compare null_#eq :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_#pred :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#succ :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#abs :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#equal :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_#greater :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_plus :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_firstline :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_firstline#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcs :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcs#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcs#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcs#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcstable :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcstable#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcstable#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcstable#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_max :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_max#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#4 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#5 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#6 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#7 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_right :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_right#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 const :: c53 const1 :: c54 const2 :: c55 const3 :: c56 const4 :: c60 const5 :: c61 const6 :: c66 const7 :: c62:c63 const8 :: c67:c68 const9 :: c69 const10 :: c75 const11 :: c72 const12 :: c80 const13 :: c81 const14 :: c86 const15 :: c82 const16 :: c84:c85 Rewrite Strategy: INNERMOST ---------------------------------------- (11) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (12) 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: #ABS(#0) -> c49 [1] #ABS(#neg(z0)) -> c50 [1] #ABS(#pos(z0)) -> c51 [1] #ABS(#s(z0)) -> c52 [1] #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) [1] #GREATER(#0, #0) -> c54(#CKGT(#EQ), #COMPARE(#0, #0)) [1] #GREATER(#0, #neg(z0')) -> c54(#CKGT(#GT), #COMPARE(#0, #neg(z0'))) [1] #GREATER(#0, #pos(z0'')) -> c54(#CKGT(#LT), #COMPARE(#0, #pos(z0''))) [1] #GREATER(#0, #s(z01)) -> c54(#CKGT(#LT), #COMPARE(#0, #s(z01))) [1] #GREATER(#neg(z02), #0) -> c54(#CKGT(#LT), #COMPARE(#neg(z02), #0)) [1] #GREATER(#neg(z03), #neg(z1')) -> c54(#CKGT(#compare(z1', z03)), #COMPARE(#neg(z03), #neg(z1'))) [1] #GREATER(#neg(z04), #pos(z1'')) -> c54(#CKGT(#LT), #COMPARE(#neg(z04), #pos(z1''))) [1] #GREATER(#pos(z05), #0) -> c54(#CKGT(#GT), #COMPARE(#pos(z05), #0)) [1] #GREATER(#pos(z06), #neg(z11)) -> c54(#CKGT(#GT), #COMPARE(#pos(z06), #neg(z11))) [1] #GREATER(#pos(z07), #pos(z12)) -> c54(#CKGT(#compare(z07, z12)), #COMPARE(#pos(z07), #pos(z12))) [1] #GREATER(#s(z08), #0) -> c54(#CKGT(#GT), #COMPARE(#s(z08), #0)) [1] #GREATER(#s(z09), #s(z13)) -> c54(#CKGT(#compare(z09, z13)), #COMPARE(#s(z09), #s(z13))) [1] #GREATER(z0, z1) -> c54(#CKGT(null_#compare), #COMPARE(z0, z1)) [1] +'(z0, z1) -> c55(#ADD(z0, z1)) [1] FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) [1] FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) [1] FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) [1] FIRSTLINE#1(nil) -> c59 [1] LCS(z0, z1) -> c60(LCS#1(lcstable#1(z0, z1)), LCSTABLE(z0, z1)) [1] LCS(z0, z1) -> c60(LCS#1(null_lcstable), LCSTABLE(z0, z1)) [1] LCS#1(z0) -> c61(LCS#2(z0)) [1] LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) [1] LCS#2(nil) -> c63(#ABS(#0)) [1] LCS#3(::(z0, z1)) -> c64 [1] LCS#3(nil) -> c65(#ABS(#0)) [1] LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) [1] LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable#1(z1, z2), z2, z0), LCSTABLE(z1, z2)) [1] LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(null_lcstable, z2, z0), LCSTABLE(z1, z2)) [1] LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) [1] LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) [1] LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) [1] LCSTABLE#3(nil, z0, z1) -> c71 [1] MAX(z0, z1) -> c72(MAX#1(#ckgt(#compare(z0, z1)), z0, z1), #GREATER(z0, z1)) [1] MAX(z0, z1) -> c72(MAX#1(null_#greater, z0, z1), #GREATER(z0, z1)) [1] MAX#1(#false, z0, z1) -> c73 [1] MAX#1(#true, z0, z1) -> c74 [1] NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) [1] NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) [1] NEWLINE#1(nil, z0, z1) -> c77 [1] NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline#1(z3, z1, z4), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) [1] NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(null_newline, z0, z1, z2, z4), NEWLINE(z4, z1, z3)) [1] NEWLINE#2(nil, z0, z1, z2) -> c79 [1] NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right#1(z0), z1, z2, z0, z3, z4), RIGHT(z0)) [1] NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(null_right, z1, z2, z0, z3, z4), RIGHT(z0)) [1] NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right#1(z2), z1, z3, z0, z4, z5), RIGHT(z2)) [1] NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(null_right, z1, z3, z0, z4, z5), RIGHT(z2)) [1] NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#eq(z4, z5), z1, z0, z3), z2), NEWLINE#7(#eq(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) [1] NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#eq(z4, z5), z1, z0, z3), z2), NEWLINE#7(null_#equal, z1, z0, z3), #EQUAL(z4, z5)) [1] NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(null_#equal, z1, z0, z3), z2), NEWLINE#7(#eq(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) [1] NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(null_#equal, z1, z0, z3), z2), NEWLINE#7(null_#equal, z1, z0, z3), #EQUAL(z4, z5)) [1] NEWLINE#6(z0, z1) -> c83 [1] NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) [1] NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) [1] RIGHT(z0) -> c86(RIGHT#1(z0)) [1] RIGHT#1(::(z0, z1)) -> c87 [1] RIGHT#1(nil) -> c88(#ABS(#0)) [1] #ADD(#0, z0) -> c [0] #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) [0] #ADD(#neg(#s(#s(#0))), z1) -> c2(#PRED(#succ(z1)), #ADD(#pos(#s(#0)), z1)) [0] #ADD(#neg(#s(#s(#s(z010)))), z1) -> c2(#PRED(#succ(#add(#pos(#s(z010)), z1))), #ADD(#pos(#s(#s(z010))), z1)) [0] #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(null_#add), #ADD(#pos(#s(z0)), z1)) [0] #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) [0] #ADD(#pos(#s(#s(#0))), z1) -> c4(#SUCC(#succ(z1)), #ADD(#pos(#s(#0)), z1)) [0] #ADD(#pos(#s(#s(#s(z011)))), z1) -> c4(#SUCC(#succ(#add(#pos(#s(z011)), z1))), #ADD(#pos(#s(#s(z011))), z1)) [0] #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(null_#add), #ADD(#pos(#s(z0)), z1)) [0] #AND(#false, #false) -> c5 [0] #AND(#false, #true) -> c6 [0] #AND(#true, #false) -> c7 [0] #AND(#true, #true) -> c8 [0] #CKGT(#EQ) -> c9 [0] #CKGT(#GT) -> c10 [0] #CKGT(#LT) -> c11 [0] #COMPARE(#0, #0) -> c12 [0] #COMPARE(#0, #neg(z0)) -> c13 [0] #COMPARE(#0, #pos(z0)) -> c14 [0] #COMPARE(#0, #s(z0)) -> c15 [0] #COMPARE(#neg(z0), #0) -> c16 [0] #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) [0] #COMPARE(#neg(z0), #pos(z1)) -> c18 [0] #COMPARE(#pos(z0), #0) -> c19 [0] #COMPARE(#pos(z0), #neg(z1)) -> c20 [0] #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) [0] #COMPARE(#s(z0), #0) -> c22 [0] #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) [0] #EQ'(#0, #0) -> c24 [0] #EQ'(#0, #neg(z0)) -> c25 [0] #EQ'(#0, #pos(z0)) -> c26 [0] #EQ'(#0, #s(z0)) -> c27 [0] #EQ'(#neg(z0), #0) -> c28 [0] #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) [0] #EQ'(#neg(z0), #pos(z1)) -> c30 [0] #EQ'(#pos(z0), #0) -> c31 [0] #EQ'(#pos(z0), #neg(z1)) -> c32 [0] #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) [0] #EQ'(#s(z0), #0) -> c34 [0] #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) [0] #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) [0] #EQ'(::(z0, z1), nil) -> c38 [0] #EQ'(nil, ::(z0, z1)) -> c39 [0] #EQ'(nil, nil) -> c40 [0] #PRED(#0) -> c41 [0] #PRED(#neg(#s(z0))) -> c42 [0] #PRED(#pos(#s(#0))) -> c43 [0] #PRED(#pos(#s(#s(z0)))) -> c44 [0] #SUCC(#0) -> c45 [0] #SUCC(#neg(#s(#0))) -> c46 [0] #SUCC(#neg(#s(#s(z0)))) -> c47 [0] #SUCC(#pos(#s(z0))) -> c48 [0] #add(#0, z0) -> z0 [0] #add(#neg(#s(#0)), z0) -> #pred(z0) [0] #add(#neg(#s(#s(#0))), z1) -> #pred(#succ(z1)) [0] #add(#neg(#s(#s(#s(z0516)))), z1) -> #pred(#succ(#add(#pos(#s(z0516)), z1))) [0] #add(#neg(#s(#s(z0))), z1) -> #pred(null_#add) [0] #add(#pos(#s(#0)), z0) -> #succ(z0) [0] #add(#pos(#s(#s(#0))), z1) -> #succ(#succ(z1)) [0] #add(#pos(#s(#s(#s(z0517)))), z1) -> #succ(#succ(#add(#pos(#s(z0517)), z1))) [0] #add(#pos(#s(#s(z0))), z1) -> #succ(null_#add) [0] #and(#false, #false) -> #false [0] #and(#false, #true) -> #false [0] #and(#true, #false) -> #false [0] #and(#true, #true) -> #true [0] #ckgt(#EQ) -> #false [0] #ckgt(#GT) -> #true [0] #ckgt(#LT) -> #false [0] #compare(#0, #0) -> #EQ [0] #compare(#0, #neg(z0)) -> #GT [0] #compare(#0, #pos(z0)) -> #LT [0] #compare(#0, #s(z0)) -> #LT [0] #compare(#neg(z0), #0) -> #LT [0] #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) [0] #compare(#neg(z0), #pos(z1)) -> #LT [0] #compare(#pos(z0), #0) -> #GT [0] #compare(#pos(z0), #neg(z1)) -> #GT [0] #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) [0] #compare(#s(z0), #0) -> #GT [0] #compare(#s(z0), #s(z1)) -> #compare(z0, z1) [0] #eq(#0, #0) -> #true [0] #eq(#0, #neg(z0)) -> #false [0] #eq(#0, #pos(z0)) -> #false [0] #eq(#0, #s(z0)) -> #false [0] #eq(#neg(z0), #0) -> #false [0] #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) [0] #eq(#neg(z0), #pos(z1)) -> #false [0] #eq(#pos(z0), #0) -> #false [0] #eq(#pos(z0), #neg(z1)) -> #false [0] #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) [0] #eq(#s(z0), #0) -> #false [0] #eq(#s(z0), #s(z1)) -> #eq(z0, z1) [0] #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) [0] #eq(::(z0, z1), nil) -> #false [0] #eq(nil, ::(z0, z1)) -> #false [0] #eq(nil, nil) -> #true [0] #pred(#0) -> #neg(#s(#0)) [0] #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) [0] #pred(#pos(#s(#0))) -> #0 [0] #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) [0] #succ(#0) -> #pos(#s(#0)) [0] #succ(#neg(#s(#0))) -> #0 [0] #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) [0] #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) [0] #abs(#0) -> #0 [0] #abs(#neg(z0)) -> #pos(z0) [0] #abs(#pos(z0)) -> #pos(z0) [0] #abs(#s(z0)) -> #pos(#s(z0)) [0] #equal(z0, z1) -> #eq(z0, z1) [0] #greater(#0, #0) -> #ckgt(#EQ) [0] #greater(#0, #neg(z0770)) -> #ckgt(#GT) [0] #greater(#0, #pos(z0771)) -> #ckgt(#LT) [0] #greater(#0, #s(z0772)) -> #ckgt(#LT) [0] #greater(#neg(z0773), #0) -> #ckgt(#LT) [0] #greater(#neg(z0774), #neg(z1436)) -> #ckgt(#compare(z1436, z0774)) [0] #greater(#neg(z0775), #pos(z1437)) -> #ckgt(#LT) [0] #greater(#pos(z0776), #0) -> #ckgt(#GT) [0] #greater(#pos(z0777), #neg(z1438)) -> #ckgt(#GT) [0] #greater(#pos(z0778), #pos(z1439)) -> #ckgt(#compare(z0778, z1439)) [0] #greater(#s(z0779), #0) -> #ckgt(#GT) [0] #greater(#s(z0780), #s(z1440)) -> #ckgt(#compare(z0780, z1440)) [0] #greater(z0, z1) -> #ckgt(null_#compare) [0] plus(z0, z1) -> #add(z0, z1) [0] firstline(z0) -> firstline#1(z0) [0] firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) [0] firstline#1(nil) -> nil [0] lcs(z0, z1) -> lcs#1(lcstable#1(z0, z1)) [0] lcs(z0, z1) -> lcs#1(null_lcstable) [0] lcs#1(z0) -> lcs#2(z0) [0] lcs#2(::(z0, z1)) -> lcs#3(z0) [0] lcs#2(nil) -> #abs(#0) [0] lcs#3(::(z0, z1)) -> z0 [0] lcs#3(nil) -> #abs(#0) [0] lcstable(z0, z1) -> lcstable#1(z0, z1) [0] lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable#1(z1, z2), z2, z0) [0] lcstable#1(::(z0, z1), z2) -> lcstable#2(null_lcstable, z2, z0) [0] lcstable#1(nil, z0) -> ::(firstline(z0), nil) [0] lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) [0] lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) [0] lcstable#3(nil, z0, z1) -> nil [0] max(z0, z1) -> max#1(#ckgt(#compare(z0, z1)), z0, z1) [0] max(z0, z1) -> max#1(null_#greater, z0, z1) [0] max#1(#false, z0, z1) -> z1 [0] max#1(#true, z0, z1) -> z0 [0] newline(z0, z1, z2) -> newline#1(z2, z1, z0) [0] newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) [0] newline#1(nil, z0, z1) -> nil [0] newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline#1(z3, z1, z4), z0, z1, z2, z4) [0] newline#2(::(z0, z1), z2, z3, z4) -> newline#3(null_newline, z0, z1, z2, z4) [0] newline#2(nil, z0, z1, z2) -> nil [0] newline#3(z0, z1, z2, z3, z4) -> newline#4(right#1(z0), z1, z2, z0, z3, z4) [0] newline#3(z0, z1, z2, z3, z4) -> newline#4(null_right, z1, z2, z0, z3, z4) [0] newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right#1(z2), z1, z3, z0, z4, z5) [0] newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(null_right, z1, z3, z0, z4, z5) [0] newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#eq(z4, z5), z1, z0, z3), z2) [0] newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(null_#equal, z1, z0, z3), z2) [0] newline#6(z0, z1) -> ::(z0, z1) [0] newline#7(#false, z0, z1, z2) -> max(z0, z2) [0] newline#7(#true, z0, z1, z2) -> plus(z1, #pos(#s(#0))) [0] right(z0) -> right#1(z0) [0] right#1(::(z0, z1)) -> z0 [0] right#1(nil) -> #abs(#0) [0] #ADD(v0, v1) -> c [0] #AND(v0, v1) -> null_#AND [0] #CKGT(v0) -> null_#CKGT [0] #COMPARE(v0, v1) -> null_#COMPARE [0] #EQ'(v0, v1) -> null_#EQ' [0] #PRED(v0) -> null_#PRED [0] #SUCC(v0) -> null_#SUCC [0] #add(v0, v1) -> null_#add [0] #and(v0, v1) -> null_#and [0] #ckgt(v0) -> null_#ckgt [0] #compare(v0, v1) -> null_#compare [0] #eq(v0, v1) -> null_#eq [0] #pred(v0) -> null_#pred [0] #succ(v0) -> null_#succ [0] #abs(v0) -> null_#abs [0] #equal(v0, v1) -> null_#equal [0] #greater(v0, v1) -> null_#greater [0] plus(v0, v1) -> null_plus [0] firstline(v0) -> null_firstline [0] firstline#1(v0) -> null_firstline#1 [0] lcs(v0, v1) -> null_lcs [0] lcs#1(v0) -> null_lcs#1 [0] lcs#2(v0) -> null_lcs#2 [0] lcs#3(v0) -> null_lcs#3 [0] lcstable(v0, v1) -> null_lcstable [0] lcstable#1(v0, v1) -> null_lcstable#1 [0] lcstable#2(v0, v1, v2) -> null_lcstable#2 [0] lcstable#3(v0, v1, v2) -> null_lcstable#3 [0] max(v0, v1) -> null_max [0] max#1(v0, v1, v2) -> null_max#1 [0] newline(v0, v1, v2) -> null_newline [0] newline#1(v0, v1, v2) -> null_newline#1 [0] newline#2(v0, v1, v2, v3) -> null_newline#2 [0] newline#3(v0, v1, v2, v3, v4) -> null_newline#3 [0] newline#4(v0, v1, v2, v3, v4, v5) -> null_newline#4 [0] newline#5(v0, v1, v2, v3, v4, v5) -> null_newline#5 [0] newline#6(v0, v1) -> null_newline#6 [0] newline#7(v0, v1, v2, v3) -> null_newline#7 [0] right(v0) -> null_right [0] right#1(v0) -> null_right#1 [0] The TRS has the following type information: #ABS :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c49:c50:c51:c52 #0 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c49 :: c49:c50:c51:c52 #neg :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c50 :: c49:c50:c51:c52 #pos :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c51 :: c49:c50:c51:c52 #s :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c52 :: c49:c50:c51:c52 #EQUAL :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c53 c53 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c53 #EQ' :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' #GREATER :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c54 c54 :: c9:c10:c11:null_#CKGT -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE -> c54 #CKGT :: #EQ:#GT:#LT:null_#compare -> c9:c10:c11:null_#CKGT #compare :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #EQ:#GT:#LT:null_#compare #COMPARE :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE +' :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c55 c55 :: c:c1:c2:c3:c4 -> c55 #ADD :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c:c1:c2:c3:c4 FIRSTLINE :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c56 c56 :: c57:c58:c59 -> c56 FIRSTLINE#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c57:c58:c59 :: :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c57 :: c49:c50:c51:c52 -> c57:c58:c59 c58 :: c56 -> c57:c58:c59 nil :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c59 :: c57:c58:c59 LCS :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c60 c60 :: c61 -> c66 -> c60 LCS#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c61 lcstable :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 LCSTABLE :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c66 c61 :: c62:c63 -> c61 LCS#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c62:c63 c62 :: c64:c65 -> c62:c63 LCS#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c64:c65 c63 :: c49:c50:c51:c52 -> c62:c63 c64 :: c64:c65 c65 :: c49:c50:c51:c52 -> c64:c65 c66 :: c67:c68 -> c66 LCSTABLE#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c67:c68 c67 :: c69 -> c66 -> c67:c68 LCSTABLE#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c69 c68 :: c56 -> c67:c68 c69 :: c70:c71 -> c69 LCSTABLE#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c70:c71 c70 :: c75 -> c70:c71 NEWLINE :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c75 c71 :: c70:c71 MAX :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c72 c72 :: c73:c74 -> c54 -> c72 MAX#1 :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c73:c74 #greater :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater #false :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater c73 :: c73:c74 #true :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater c74 :: c73:c74 c75 :: c76:c77 -> c75 NEWLINE#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c76:c77 c76 :: c78:c79 -> c76:c77 NEWLINE#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c78:c79 c77 :: c76:c77 c78 :: c80 -> c75 -> c78:c79 NEWLINE#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c80 newline :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c79 :: c78:c79 c80 :: c81 -> c86 -> c80 NEWLINE#4 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c81 right :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 RIGHT :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c86 c81 :: c82 -> c86 -> c81 NEWLINE#5 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c82 c82 :: c83 -> c84:c85 -> c53 -> c82 NEWLINE#6 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c83 newline#7 :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 #equal :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater NEWLINE#7 :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c84:c85 c83 :: c83 c84 :: c72 -> c84:c85 c85 :: c55 -> c84:c85 c86 :: c87:c88 -> c86 RIGHT#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c87:c88 c87 :: c87:c88 c88 :: c49:c50:c51:c52 -> c87:c88 c :: c:c1:c2:c3:c4 c1 :: c41:c42:c43:c44:null_#PRED -> c:c1:c2:c3:c4 #PRED :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c41:c42:c43:c44:null_#PRED c2 :: c41:c42:c43:c44:null_#PRED -> c:c1:c2:c3:c4 -> c:c1:c2:c3:c4 #add :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 c3 :: c45:c46:c47:c48:null_#SUCC -> c:c1:c2:c3:c4 #SUCC :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> c45:c46:c47:c48:null_#SUCC c4 :: c45:c46:c47:c48:null_#SUCC -> c:c1:c2:c3:c4 -> c:c1:c2:c3:c4 #AND :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> c5:c6:c7:c8:null_#AND c5 :: c5:c6:c7:c8:null_#AND c6 :: c5:c6:c7:c8:null_#AND c7 :: c5:c6:c7:c8:null_#AND c8 :: c5:c6:c7:c8:null_#AND #EQ :: #EQ:#GT:#LT:null_#compare c9 :: c9:c10:c11:null_#CKGT #GT :: #EQ:#GT:#LT:null_#compare c10 :: c9:c10:c11:null_#CKGT #LT :: #EQ:#GT:#LT:null_#compare c11 :: c9:c10:c11:null_#CKGT c12 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c13 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c14 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c15 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c16 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c17 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c18 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c19 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c20 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c21 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c22 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c23 :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE -> c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE c24 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c25 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c26 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c27 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c28 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c29 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c30 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c31 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c32 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c33 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c34 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c35 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c36 :: c5:c6:c7:c8:null_#AND -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' #eq :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater c37 :: c5:c6:c7:c8:null_#AND -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' -> c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c38 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c39 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c40 :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' c41 :: c41:c42:c43:c44:null_#PRED c42 :: c41:c42:c43:c44:null_#PRED c43 :: c41:c42:c43:c44:null_#PRED c44 :: c41:c42:c43:c44:null_#PRED c45 :: c45:c46:c47:c48:null_#SUCC c46 :: c45:c46:c47:c48:null_#SUCC c47 :: c45:c46:c47:c48:null_#SUCC c48 :: c45:c46:c47:c48:null_#SUCC #pred :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 #succ :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 #and :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater #ckgt :: #EQ:#GT:#LT:null_#compare -> #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater #abs :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 plus :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 firstline :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 firstline#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcs :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcs#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcs#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcs#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcstable#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcstable#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 lcstable#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 max :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 max#1 :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#4 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#5 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 newline#6 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 right#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 -> #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#AND :: c5:c6:c7:c8:null_#AND null_#CKGT :: c9:c10:c11:null_#CKGT null_#COMPARE :: c12:c13:c14:c15:c16:c17:c18:c19:c20:c21:c22:c23:null_#COMPARE null_#EQ' :: c24:c25:c26:c27:c28:c29:c30:c31:c32:c33:c34:c35:c36:c37:c38:c39:c40:null_#EQ' null_#PRED :: c41:c42:c43:c44:null_#PRED null_#SUCC :: c45:c46:c47:c48:null_#SUCC null_#add :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#and :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_#ckgt :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_#compare :: #EQ:#GT:#LT:null_#compare null_#eq :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_#pred :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#succ :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#abs :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_#equal :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_#greater :: #false:#true:null_#and:null_#ckgt:null_#eq:null_#equal:null_#greater null_plus :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_firstline :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_firstline#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcs :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcs#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcs#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcs#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcstable :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcstable#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcstable#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_lcstable#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_max :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_max#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#2 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#3 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#4 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#5 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#6 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_newline#7 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_right :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 null_right#1 :: #0:#neg:#pos:#s::::nil:null_#add:null_#pred:null_#succ:null_#abs:null_plus:null_firstline:null_firstline#1:null_lcs:null_lcs#1:null_lcs#2:null_lcs#3:null_lcstable:null_lcstable#1:null_lcstable#2:null_lcstable#3:null_max:null_max#1:null_newline:null_newline#1:null_newline#2:null_newline#3:null_newline#4:null_newline#5:null_newline#6:null_newline#7:null_right:null_right#1 const :: c53 const1 :: c54 const2 :: c55 const3 :: c56 const4 :: c60 const5 :: c61 const6 :: c66 const7 :: c62:c63 const8 :: c67:c68 const9 :: c69 const10 :: c75 const11 :: c72 const12 :: c80 const13 :: c81 const14 :: c86 const15 :: c82 const16 :: c84:c85 Rewrite Strategy: INNERMOST ---------------------------------------- (13) 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 c49 => 0 c50 => 1 c51 => 2 c52 => 3 nil => 1 c59 => 0 c64 => 0 c71 => 0 #false => 1 c73 => 0 #true => 2 c74 => 1 c77 => 0 c79 => 0 c83 => 0 c87 => 0 c => 0 c5 => 1 c6 => 2 c7 => 3 c8 => 4 #EQ => 1 c9 => 3 #GT => 2 c10 => 1 #LT => 3 c11 => 2 c12 => 0 c13 => 1 c14 => 2 c15 => 3 c16 => 4 c18 => 5 c19 => 6 c20 => 7 c22 => 8 c24 => 0 c25 => 1 c26 => 2 c27 => 3 c28 => 4 c30 => 5 c31 => 6 c32 => 7 c34 => 8 c38 => 9 c39 => 10 c40 => 11 c41 => 1 c42 => 2 c43 => 3 c44 => 4 c45 => 1 c46 => 2 c47 => 3 c48 => 4 null_#AND => 0 null_#CKGT => 0 null_#COMPARE => 0 null_#EQ' => 0 null_#PRED => 0 null_#SUCC => 0 null_#add => 0 null_#and => 0 null_#ckgt => 0 null_#compare => 0 null_#eq => 0 null_#pred => 0 null_#succ => 0 null_#abs => 0 null_#equal => 0 null_#greater => 0 null_plus => 0 null_firstline => 0 null_firstline#1 => 0 null_lcs => 0 null_lcs#1 => 0 null_lcs#2 => 0 null_lcs#3 => 0 null_lcstable => 0 null_lcstable#1 => 0 null_lcstable#2 => 0 null_lcstable#3 => 0 null_max => 0 null_max#1 => 0 null_newline => 0 null_newline#1 => 0 null_newline#2 => 0 null_newline#3 => 0 null_newline#4 => 0 null_newline#5 => 0 null_newline#6 => 0 null_newline#7 => 0 null_right => 0 null_right#1 => 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 const16 => 0 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 2 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 1 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z0 >= 0, z = 0, z' = z0 #ADD(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #ADD(z, z') -{ 0 }-> 1 + #SUCC(z0) :|: z = 1 + (1 + 0), z0 >= 0, z' = z0 #ADD(z, z') -{ 0 }-> 1 + #PRED(z0) :|: z = 1 + (1 + 0), z0 >= 0, z' = z0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + z0), z1) :|: z1 >= 0, z' = z1, z0 >= 0, z = 1 + (1 + (1 + z0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(z1)) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + z011), z1))) + #ADD(1 + (1 + (1 + z011)), z1) :|: z011 >= 0, z1 >= 0, z = 1 + (1 + (1 + (1 + z011))), z' = z1 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + z0), z1) :|: z1 >= 0, z' = z1, z0 >= 0, z = 1 + (1 + (1 + z0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(z1)) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + z010), z1))) + #ADD(1 + (1 + (1 + z010)), z1) :|: z1 >= 0, z = 1 + (1 + (1 + (1 + z010))), z' = z1, z010 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #COMPARE(z, z') -{ 0 }-> 8 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 6 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 4 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z1, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z = 1 + z0, z0 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #EQ'(z, z') -{ 0 }-> 6 :|: z = 1 + z0, z0 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #EQ'(z, z') -{ 0 }-> 4 :|: z = 1 + z0, z0 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z0 >= 0, z' = 1 + z0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z0 >= 0, z' = 1 + z0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z0 >= 0, z' = 1 + z0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(3) + #COMPARE(0, 1 + z0'') :|: z' = 1 + z0'', z0'' >= 0, z = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(3) + #COMPARE(0, 1 + z01) :|: z01 >= 0, z' = 1 + z01, z = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(3) + #COMPARE(1 + z02, 0) :|: z = 1 + z02, z02 >= 0, z' = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(3) + #COMPARE(1 + z04, 1 + z1'') :|: z04 >= 0, z' = 1 + z1'', z = 1 + z04, z1'' >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(2) + #COMPARE(0, 1 + z0') :|: z0' >= 0, z = 0, z' = 1 + z0' #GREATER(z, z') -{ 1 }-> 1 + #CKGT(2) + #COMPARE(1 + z05, 0) :|: z05 >= 0, z = 1 + z05, z' = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(2) + #COMPARE(1 + z06, 1 + z11) :|: z' = 1 + z11, z11 >= 0, z06 >= 0, z = 1 + z06 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(2) + #COMPARE(1 + z08, 0) :|: z08 >= 0, z = 1 + z08, z' = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(1) + #COMPARE(0, 0) :|: z = 0, z' = 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(0) + #COMPARE(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z07, z12)) + #COMPARE(1 + z07, 1 + z12) :|: z' = 1 + z12, z07 >= 0, z = 1 + z07, z12 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z09, z13)) + #COMPARE(1 + z09, 1 + z13) :|: z' = 1 + z13, z = 1 + z09, z09 >= 0, z13 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z1', z03)) + #COMPARE(1 + z03, 1 + z1') :|: z' = 1 + z1', z1' >= 0, z = 1 + z03, z03 >= 0 #PRED(z) -{ 0 }-> 4 :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z0 >= 0, z = 1 + (1 + z0) #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #SUCC(z) -{ 0 }-> 4 :|: z0 >= 0, z = 1 + (1 + z0) #SUCC(z) -{ 0 }-> 3 :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #abs(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 #abs(z) -{ 0 }-> 1 + (1 + z0) :|: z = 1 + z0, z0 >= 0 #add(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 #add(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #add(z, z') -{ 0 }-> #succ(z0) :|: z = 1 + (1 + 0), z0 >= 0, z' = z0 #add(z, z') -{ 0 }-> #succ(0) :|: z1 >= 0, z' = z1, z0 >= 0, z = 1 + (1 + (1 + z0)) #add(z, z') -{ 0 }-> #succ(#succ(z1)) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + z0517), z1))) :|: z1 >= 0, z = 1 + (1 + (1 + (1 + z0517))), z' = z1, z0517 >= 0 #add(z, z') -{ 0 }-> #pred(z0) :|: z = 1 + (1 + 0), z0 >= 0, z' = z0 #add(z, z') -{ 0 }-> #pred(0) :|: z1 >= 0, z' = z1, z0 >= 0, z = 1 + (1 + (1 + z0)) #add(z, z') -{ 0 }-> #pred(#succ(z1)) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + z0516), z1))) :|: z1 >= 0, z0516 >= 0, z' = z1, z = 1 + (1 + (1 + (1 + z0516))) #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #compare(z, z') -{ 0 }-> 3 :|: z0 >= 0, z' = 1 + z0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z = 1 + z0, z0 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> 2 :|: z0 >= 0, z' = 1 + z0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #compare(z, z') -{ 0 }-> #compare(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> #compare(z1, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z0 >= 0, z' = 1 + z0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z = 1 + z0, z0 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #eq(z, z') -{ 0 }-> #eq(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #equal(z, z') -{ 0 }-> #eq(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 #greater(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #greater(z, z') -{ 0 }-> #ckgt(3) :|: z0771 >= 0, z = 0, z' = 1 + z0771 #greater(z, z') -{ 0 }-> #ckgt(3) :|: z0772 >= 0, z = 0, z' = 1 + z0772 #greater(z, z') -{ 0 }-> #ckgt(3) :|: z = 1 + z0773, z0773 >= 0, z' = 0 #greater(z, z') -{ 0 }-> #ckgt(3) :|: z0775 >= 0, z = 1 + z0775, z1437 >= 0, z' = 1 + z1437 #greater(z, z') -{ 0 }-> #ckgt(2) :|: z0770 >= 0, z = 0, z' = 1 + z0770 #greater(z, z') -{ 0 }-> #ckgt(2) :|: z = 1 + z0776, z' = 0, z0776 >= 0 #greater(z, z') -{ 0 }-> #ckgt(2) :|: z' = 1 + z1438, z = 1 + z0777, z1438 >= 0, z0777 >= 0 #greater(z, z') -{ 0 }-> #ckgt(2) :|: z0779 >= 0, z = 1 + z0779, z' = 0 #greater(z, z') -{ 0 }-> #ckgt(1) :|: z = 0, z' = 0 #greater(z, z') -{ 0 }-> #ckgt(0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z0778, z1439)) :|: z' = 1 + z1439, z = 1 + z0778, z1439 >= 0, z0778 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z0780, z1440)) :|: z' = 1 + z1440, z1440 >= 0, z0780 >= 0, z = 1 + z0780 #greater(z, z') -{ 0 }-> #ckgt(#compare(z1436, z0774)) :|: z = 1 + z0774, z0774 >= 0, z' = 1 + z1436, z1436 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #pred(z) -{ 0 }-> 1 + (1 + z0) :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + z0)) :|: z0 >= 0, z = 1 + (1 + z0) #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #succ(z) -{ 0 }-> 1 + (1 + z0) :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + z0)) :|: z0 >= 0, z = 1 + (1 + z0) +'(z, z') -{ 1 }-> 1 + #ADD(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z0) :|: z = z0, z0 >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 1 }-> 1 + #ABS(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z0, z1)) + LCSTABLE(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z0) :|: z = z0, z0 >= 0 LCS#2(z) -{ 1 }-> 1 + LCS#3(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#2(z) -{ 1 }-> 1 + #ABS(0) :|: z = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 1 }-> 1 + #ABS(0) :|: z = 1 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z0) :|: z = 1, z0 >= 0, z' = z0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z2), z2, z0) + LCSTABLE(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z2, z0) + LCSTABLE(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z0, z1, z2) :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z3, z0, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z0, z1) + #GREATER(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z0, z1)), z0, z1) + #GREATER(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z2, z1, z0) :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z2, z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z3, z1, z4), z0, z1, z2, z4) + NEWLINE(z4, z1, z3) :|: z1 >= 0, z6 = z4, z' = z2, z0 >= 0, z'' = z3, z4 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z2, z4) + NEWLINE(z4, z1, z3) :|: z1 >= 0, z6 = z4, z' = z2, z0 >= 0, z'' = z3, z4 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(right#1(z0), z1, z2, z0, z3, z4) + RIGHT(z0) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z1, z2, z0, z3, z4) + RIGHT(z0) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(right#1(z2), z1, z3, z0, z4, z5) + RIGHT(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 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z1, z3, z0, z4, z5) + RIGHT(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 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z1, z0, z3), z2) + NEWLINE#7(0, z1, z0, z3) + #EQUAL(z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z1, z0, z3), z2) + NEWLINE#7(#eq(z4, z5), z1, z0, z3) + #EQUAL(z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z4, z5), z1, z0, z3), z2) + NEWLINE#7(0, z1, z0, z3) + #EQUAL(z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z4, z5), z1, z0, z3), z2) + NEWLINE#7(#eq(z4, z5), z1, z0, z3) + #EQUAL(z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z0, z2) :|: z1 >= 0, z = 1, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z1, 1 + (1 + 0)) :|: z = 2, z1 >= 0, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 RIGHT(z) -{ 1 }-> 1 + RIGHT#1(z0) :|: z = z0, z0 >= 0 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 1 }-> 1 + #ABS(0) :|: z = 1 firstline(z) -{ 0 }-> firstline#1(z0) :|: z = z0, z0 >= 0 firstline(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 firstline#1(z) -{ 0 }-> 1 + #abs(0) + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z0, z1)) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 lcs(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 lcs#1(z) -{ 0 }-> lcs#2(z0) :|: z = z0, z0 >= 0 lcs#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 lcs#2(z) -{ 0 }-> lcs#3(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#2(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 lcs#3(z) -{ 0 }-> #abs(0) :|: z = 1 lcstable(z, z') -{ 0 }-> lcstable#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 lcstable(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z2), z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z0) + 1 :|: z = 1, z0 >= 0, z' = z0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z0, z1, z2) :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z3, z0, z2) + (1 + z0 + z1) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 max(z, z') -{ 0 }-> max#1(0, z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z0, z1)), z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 max(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 max#1(z, z', z'') -{ 0 }-> z0 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 max#1(z, z', z'') -{ 0 }-> z1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 max#1(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z2, z1, z0) :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z2, z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 newline#1(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z3, z1, z4), z0, z1, z2, z4) :|: z1 >= 0, z6 = z4, z' = z2, z0 >= 0, z'' = z3, z4 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z2, z4) :|: z1 >= 0, z6 = z4, z' = z2, z0 >= 0, z'' = z3, z4 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z1 >= 0, z = 1, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(right#1(z0), z1, z2, z0, z3, z4) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z1, z2, z0, z3, z4) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v4 >= 0, z7 = v4, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(right#1(z2), z1, z3, z0, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z1, z3, z0, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v4 >= 0, z7 = v4, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z8 = v5, v2 >= 0, v3 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z1, z0, z3), 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 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z4, z5), z1, z0, z3), 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 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v4 >= 0, z7 = v4, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z8 = v5, v2 >= 0, v3 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 newline#6(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z1, 1 + (1 + 0)) :|: z = 2, z1 >= 0, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 newline#7(z, z', z'', z6) -{ 0 }-> max(z0, z2) :|: z1 >= 0, z = 1, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0 plus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 plus(z, z') -{ 0 }-> #add(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 right(z) -{ 0 }-> right#1(z0) :|: z = z0, z0 >= 0 right(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 right#1(z) -{ 0 }-> #abs(0) :|: z = 1 ---------------------------------------- (15) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: #ABS(z) -{ 1 }-> 3 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 2 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ABS(z) -{ 1 }-> 1 :|: z = 1 + z0, z0 >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #PRED(z) -{ 0 }-> 2 :|: z0 >= 0, z = 1 + (1 + z0) #PRED(z) -{ 0 }-> 4 :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #PRED(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 4 :|: z0 >= 0, z = 1 + (1 + z0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 3 :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + z0) :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #pred(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #pred(z) -{ 0 }-> 1 + (1 + (1 + z0)) :|: z0 >= 0, z = 1 + (1 + z0) #succ(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #succ(z) -{ 0 }-> 1 + (1 + (1 + z0)) :|: z0 >= 0, z = 1 + (1 + z0) #succ(z) -{ 0 }-> 1 + (1 + z0) :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 1 + (1 + z0) :|: z = 1 + z0, z0 >= 0 #abs(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 #abs(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 max#1(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 max#1(z, z', z'') -{ 0 }-> z0 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 max#1(z, z', z'') -{ 0 }-> z1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 newline#6(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 newline#6(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 LCS#3(z) -{ 1 }-> 1 + #ABS(0) :|: z = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 1 }-> 1 + #ABS(0) :|: z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> #abs(0) :|: z = 1 lcs#3(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 right#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 right#1(z) -{ 0 }-> #abs(0) :|: z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 2 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 1 :|: z = 1 + z0, z0 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z0 >= 0, z = 0, z' = z0 #ADD(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0' >= 0, z0 = 1 + (1 + (1 + z0')) #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0' >= 0, z0 = 1 + (1 + z0') #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0 = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0' >= 0, z0 = 1 + (1 + (1 + z0')) #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0' >= 0, z0 = 1 + (1 + z0') #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0 = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, v0 >= 0, z0 = v0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + z0), z1) :|: z1 >= 0, z' = z1, z0 >= 0, z = 1 + (1 + (1 + z0)), 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + z0), z1) :|: z1 >= 0, z' = z1, z0 >= 0, z = 1 + (1 + (1 + z0)), v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), v0 >= 0, z1 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + z0)) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + (1 + z0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + z0))) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + z0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + z011), z1))) + #ADD(1 + (1 + (1 + z011)), z1) :|: z011 >= 0, z1 >= 0, z = 1 + (1 + (1 + (1 + z011))), z' = z1 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), v0 >= 0, z1 = v0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + z0)) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + (1 + z0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + z0))) + #ADD(1 + (1 + 0), z1) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + z0) #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + z010), z1))) + #ADD(1 + (1 + (1 + z010)), z1) :|: z1 >= 0, z = 1 + (1 + (1 + (1 + z010))), z' = z1, z010 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #COMPARE(z, z') -{ 0 }-> 8 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 6 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 4 :|: z = 1 + z0, z0 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z0 >= 0, z' = 1 + z0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z1, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z = 1 + z0, z0 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #EQ'(z, z') -{ 0 }-> 6 :|: z = 1 + z0, z0 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #EQ'(z, z') -{ 0 }-> 4 :|: z = 1 + z0, z0 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z0 >= 0, z' = 1 + z0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z0 >= 0, z' = 1 + z0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z0 >= 0, z' = 1 + z0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + z0'') :|: z' = 1 + z0'', z0'' >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + z01) :|: z01 >= 0, z' = 1 + z01, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + z02, 0) :|: z = 1 + z02, z02 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + z04, 1 + z1'') :|: z04 >= 0, z' = 1 + z1'', z = 1 + z04, z1'' >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + z0') :|: z0' >= 0, z = 0, z' = 1 + z0', 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + z05, 0) :|: z05 >= 0, z = 1 + z05, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + z06, 1 + z11) :|: z' = 1 + z11, z11 >= 0, z06 >= 0, z = 1 + z06, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + z08, 0) :|: z08 >= 0, z = 1 + z08, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + z0') :|: z0' >= 0, z = 0, z' = 1 + z0', v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + z0'') :|: z' = 1 + z0'', z0'' >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + z01) :|: z01 >= 0, z' = 1 + z01, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z02, 0) :|: z = 1 + z02, z02 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z04, 1 + z1'') :|: z04 >= 0, z' = 1 + z1'', z = 1 + z04, z1'' >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z05, 0) :|: z05 >= 0, z = 1 + z05, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z06, 1 + z11) :|: z' = 1 + z11, z11 >= 0, z06 >= 0, z = 1 + z06, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + z08, 0) :|: z08 >= 0, z = 1 + z08, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z07, z12)) + #COMPARE(1 + z07, 1 + z12) :|: z' = 1 + z12, z07 >= 0, z = 1 + z07, z12 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z09, z13)) + #COMPARE(1 + z09, 1 + z13) :|: z' = 1 + z13, z = 1 + z09, z09 >= 0, z13 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z1', z03)) + #COMPARE(1 + z03, 1 + z1') :|: z' = 1 + z1', z1' >= 0, z = 1 + z03, z03 >= 0 #PRED(z) -{ 0 }-> 4 :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z0 >= 0, z = 1 + (1 + z0) #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #SUCC(z) -{ 0 }-> 4 :|: z0 >= 0, z = 1 + (1 + z0) #SUCC(z) -{ 0 }-> 3 :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #abs(z) -{ 0 }-> 1 + z0 :|: z = 1 + z0, z0 >= 0 #abs(z) -{ 0 }-> 1 + (1 + z0) :|: z = 1 + z0, z0 >= 0 #add(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 #add(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0 = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, v0 >= 0, z0 = v0 #add(z, z') -{ 0 }-> 0 :|: z1 >= 0, z' = z1, z0 >= 0, z = 1 + (1 + (1 + z0)), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), v0 >= 0, z1 = v0, v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + z0), v0 >= 0, 1 + (1 + (1 + z0)) = v0 #add(z, z') -{ 0 }-> 0 :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + (1 + z0)), v0 >= 0, 1 + (1 + z0) = v0 #add(z, z') -{ 0 }-> 0 :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + (1 + z0)), 1 + (1 + z0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0' >= 0, z0 = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + z0), z0' >= 0, 1 + (1 + (1 + z0)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + (1 + z0)), z0' >= 0, 1 + (1 + z0) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z1 >= 0, z' = z1, z0 >= 0, z = 1 + (1 + (1 + z0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), v0 >= 0, z1 = v0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z = 1 + (1 + 0), z0 >= 0, z' = z0, z0' >= 0, z0 = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + z0), z0' >= 0, 1 + (1 + (1 + z0)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + (1 + z0)), z0' >= 0, 1 + (1 + z0) = 1 + (1 + z0') #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + z0517), z1))) :|: z1 >= 0, z = 1 + (1 + (1 + (1 + z0517))), z' = z1, z0517 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), v0 >= 0, z1 = v0 #add(z, z') -{ 0 }-> #pred(0) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + z0)) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + (1 + z0)) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z1 = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + z0))) :|: z1 >= 0, z' = z1, z = 1 + (1 + (1 + 0)), z0 >= 0, z1 = 1 + (1 + z0) #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + z0516), z1))) :|: z1 >= 0, z0516 >= 0, z' = z1, z = 1 + (1 + (1 + (1 + z0516))) #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #compare(z, z') -{ 0 }-> 3 :|: z0 >= 0, z' = 1 + z0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z = 1 + z0, z0 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> 2 :|: z0 >= 0, z' = 1 + z0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #compare(z, z') -{ 0 }-> #compare(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #compare(z, z') -{ 0 }-> #compare(z1, z0) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z0 >= 0, z' = 1 + z0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z = 1 + z0, z0 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #eq(z, z') -{ 0 }-> #eq(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #equal(z, z') -{ 0 }-> #eq(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z0770 >= 0, z = 0, z' = 1 + z0770, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z = 1 + z0776, z' = 0, z0776 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 1 + z1438, z = 1 + z0777, z1438 >= 0, z0777 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z0779 >= 0, z = 1 + z0779, z' = 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z0771 >= 0, z = 0, z' = 1 + z0771, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z0772 >= 0, z = 0, z' = 1 + z0772, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z = 1 + z0773, z0773 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z0775 >= 0, z = 1 + z0775, z1437 >= 0, z' = 1 + z1437, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z0770 >= 0, z = 0, z' = 1 + z0770, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z0771 >= 0, z = 0, z' = 1 + z0771, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z0772 >= 0, z = 0, z' = 1 + z0772, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 1 + z0773, z0773 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z0775 >= 0, z = 1 + z0775, z1437 >= 0, z' = 1 + z1437, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = 1 + z0776, z' = 0, z0776 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 1 + z1438, z = 1 + z0777, z1438 >= 0, z0777 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z0779 >= 0, z = 1 + z0779, z' = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z0778, z1439)) :|: z' = 1 + z1439, z = 1 + z0778, z1439 >= 0, z0778 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z0780, z1440)) :|: z' = 1 + z1440, z1440 >= 0, z0780 >= 0, z = 1 + z0780 #greater(z, z') -{ 0 }-> #ckgt(#compare(z1436, z0774)) :|: z = 1 + z0774, z0774 >= 0, z' = 1 + z1436, z1436 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #pred(z) -{ 0 }-> 1 + (1 + z0) :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + z0)) :|: z0 >= 0, z = 1 + (1 + z0) #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 #succ(z) -{ 0 }-> 1 + (1 + z0) :|: z0 >= 0, z = 1 + (1 + (1 + z0)) #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + z0)) :|: z0 >= 0, z = 1 + (1 + z0) +'(z, z') -{ 1 }-> 1 + #ADD(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z0) :|: z = z0, z0 >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z0, z1)) + LCSTABLE(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z0) :|: z = z0, z0 >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z0) :|: z = 1, z0 >= 0, z' = z0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z2), z2, z0) + LCSTABLE(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z2, z0) + LCSTABLE(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z0, z1, z2) :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z3, z0, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z0, z1) + #GREATER(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z0, z1)), z0, z1) + #GREATER(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z2, z1, z0) :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z2, z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z1 >= 0, z = 1, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z3, z1, z4), z0, z1, z2, z4) + NEWLINE(z4, z1, z3) :|: z1 >= 0, z6 = z4, z' = z2, z0 >= 0, z'' = z3, z4 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z2, z4) + NEWLINE(z4, z1, z3) :|: z1 >= 0, z6 = z4, z' = z2, z0 >= 0, z'' = z3, z4 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z1, z2, z0, z3, z4) + RIGHT(z0) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z1, z2, z0, z3, z4) + RIGHT(z0) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z1, z2, z0, z3, z4) + RIGHT(z0) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, v0 >= 0, z0 = v0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z1, z2, z0, z3, z4) + RIGHT(z0) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z0 = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z1, z3, z0, z4, z5) + RIGHT(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, z1' >= 0, z0' >= 0, z2 = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z1, z3, z0, z4, z5) + RIGHT(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 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z1, z3, z0, z4, z5) + RIGHT(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, v0 >= 0, z2 = v0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z1, z3, z0, z4, z5) + RIGHT(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, z2 = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z1, z0, z3), z2) + NEWLINE#7(0, z1, z0, z3) + #EQUAL(z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z1, z0, z3), z2) + NEWLINE#7(#eq(z4, z5), z1, z0, z3) + #EQUAL(z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z4, z5), z1, z0, z3), z2) + NEWLINE#7(0, z1, z0, z3) + #EQUAL(z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z4, z5), z1, z0, z3), z2) + NEWLINE#7(#eq(z4, z5), z1, z0, z3) + #EQUAL(z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z0, z2) :|: z1 >= 0, z = 1, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z1, 1 + (1 + 0)) :|: z = 2, z1 >= 0, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 RIGHT(z) -{ 2 }-> 1 + 0 :|: z = z0, z0 >= 0, z1 >= 0, z0' >= 0, z0 = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z = z0, z0 >= 0, z0 = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z0) :|: z = z0, z0 >= 0 firstline(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z0, z1)) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 lcs(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 lcs#1(z) -{ 0 }-> lcs#2(z0) :|: z = z0, z0 >= 0 lcs#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 lcstable(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z2), z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z2, z0) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z0) + 1 :|: z = 1, z0 >= 0, z' = z0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z0, z1, z2) :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z3, z0, z2) + (1 + z0 + z1) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z0, z1)), z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 max(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 max(z, z') -{ 0 }-> 0 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0, v0 >= 0, z1 = v2, v1 >= 0, 0 = v0, z0 = v1, v2 >= 0 max#1(z, z', z'') -{ 0 }-> z0 :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 max#1(z, z', z'') -{ 0 }-> z1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 max#1(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z2, z1, z0) :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z2, z0, z1, z3) :|: z1 >= 0, z' = z2, z0 >= 0, z'' = z3, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 newline#1(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z3, z1, z4), z0, z1, z2, z4) :|: z1 >= 0, z6 = z4, z' = z2, z0 >= 0, z'' = z3, z4 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z2, z4) :|: z1 >= 0, z6 = z4, z' = z2, z0 >= 0, z'' = z3, z4 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z1 >= 0, z = 1, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z1, z2, z0, z3, z4) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z1, z2, z0, z3, z4) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z1, z2, z0, z3, z4) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, v0 >= 0, z0 = v0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z1, z2, z0, z3, z4) :|: z'' = z2, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z0 = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v4 >= 0, z7 = v4, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z1, z3, z0, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0, z1' >= 0, z0' >= 0, z2 = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z1, z3, z0, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z1, z3, z0, z4, z5) :|: 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, z2 = v0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z1, z3, z0, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0, z2 = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v4 >= 0, z7 = v4, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z8 = v5, v2 >= 0, v3 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z1, z0, z3), 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 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z4, z5), z1, z0, z3), 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 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v4 >= 0, z7 = v4, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z8 = v5, v2 >= 0, v3 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 newline#6(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z1, 1 + (1 + 0)) :|: z = 2, z1 >= 0, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 newline#7(z, z', z'', z6) -{ 0 }-> max(z0, z2) :|: z1 >= 0, z = 1, z0 >= 0, z6 = z2, z' = z0, z2 >= 0, z'' = z1 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0 plus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 plus(z, z') -{ 0 }-> #add(z0, z1) :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 right(z) -{ 0 }-> z0' :|: z = z0, z0 >= 0, z1 >= 0, z0' >= 0, z0 = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 right(z) -{ 0 }-> 0 :|: z = z0, z0 >= 0, v0 >= 0, z0 = v0 right(z) -{ 0 }-> #abs(0) :|: z = z0, z0 >= 0, z0 = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 ---------------------------------------- (17) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 ---------------------------------------- (19) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { LCS#3 } { RIGHT#1 } { MAX#1 } { #CKGT } { max#1 } { #ckgt } { #SUCC } { newline#6 } { #COMPARE } { firstline#1, firstline } { #pred } { lcs#3 } { #ABS } { right#1 } { #and } { #compare } { #PRED } { FIRSTLINE, FIRSTLINE#1 } { NEWLINE#6 } { #AND } { #abs } { #succ } { #GREATER } { max } { #greater } { #add } { LCS#2 } { RIGHT } { #eq } { right } { lcs#2 } { MAX } { #ADD } { plus } { LCS#1 } { #EQ' } { #equal } { lcs#1 } { +' } { newline#7 } { #EQUAL } { NEWLINE#7 } { newline#5 } { NEWLINE#5 } { newline#4 } { NEWLINE#4 } { newline#3 } { NEWLINE#3 } { newline#1, newline#2 } { NEWLINE#1, NEWLINE#2, NEWLINE } { newline } { LCSTABLE#3 } { lcstable#3 } { LCSTABLE#2 } { lcstable#2 } { lcstable#1 } { lcstable } { lcs } { LCSTABLE, LCSTABLE#1 } { LCS } ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS#3}, {RIGHT#1}, {MAX#1}, {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} ---------------------------------------- (21) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS#3}, {RIGHT#1}, {MAX#1}, {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} ---------------------------------------- (23) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: LCS#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS#3}, {RIGHT#1}, {MAX#1}, {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: ?, size: O(1) [1] ---------------------------------------- (25) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: LCS#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {RIGHT#1}, {MAX#1}, {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] ---------------------------------------- (27) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {RIGHT#1}, {MAX#1}, {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: RIGHT#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {RIGHT#1}, {MAX#1}, {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: ?, size: O(1) [1] ---------------------------------------- (31) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: RIGHT#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {MAX#1}, {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] ---------------------------------------- (33) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {MAX#1}, {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] ---------------------------------------- (35) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: MAX#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {MAX#1}, {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: ?, size: O(1) [1] ---------------------------------------- (37) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: MAX#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(0, z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] ---------------------------------------- (39) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] ---------------------------------------- (41) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #CKGT after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#CKGT}, {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: ?, size: O(1) [3] ---------------------------------------- (43) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #CKGT after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (45) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (47) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: max#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' + z'' ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {max#1}, {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: ?, size: O(n^1) [z' + z''] ---------------------------------------- (49) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: max#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] ---------------------------------------- (51) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] ---------------------------------------- (53) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #ckgt after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#ckgt}, {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: ?, size: O(1) [2] ---------------------------------------- (55) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #ckgt after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (57) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (59) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #SUCC after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 4 ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#SUCC}, {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: ?, size: O(1) [4] ---------------------------------------- (61) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #SUCC after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #SUCC(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] ---------------------------------------- (63) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] ---------------------------------------- (65) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: newline#6 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z + z' ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#6}, {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: ?, size: O(n^1) [1 + z + z'] ---------------------------------------- (67) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: newline#6 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] ---------------------------------------- (69) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] ---------------------------------------- (71) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #COMPARE after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 9 + z + z' ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#COMPARE}, {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: ?, size: O(n^1) [9 + z + z'] ---------------------------------------- (73) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #COMPARE after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + #COMPARE(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + #COMPARE(0, 0) :|: z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(z, z') :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 0) :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(0, 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + #COMPARE(1 + (z - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] ---------------------------------------- (75) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] ---------------------------------------- (77) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: firstline#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z Computed SIZE bound using CoFloCo for: firstline after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {firstline#1,firstline}, {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: ?, size: O(n^1) [z] firstline: runtime: ?, size: O(n^1) [z] ---------------------------------------- (79) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: firstline#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 Computed RUNTIME bound using CoFloCo for: firstline after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> firstline#1(z) :|: z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + firstline(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + firstline(z') + 1 :|: z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (81) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (83) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #pred 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: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#pred}, {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: ?, size: O(n^1) [2 + z] ---------------------------------------- (85) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #pred after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (86) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> #pred(0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> #pred(1 + (1 + 0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (z' - 3))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> #pred(1 + (1 + (1 + (z' - 2)))) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] ---------------------------------------- (87) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (88) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] ---------------------------------------- (89) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: lcs#3 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (90) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs#3}, {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: ?, size: O(n^1) [z] ---------------------------------------- (91) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: lcs#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (92) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (93) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (94) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (95) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #ABS after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (96) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#ABS}, {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: ?, size: O(1) [3] ---------------------------------------- (97) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #ABS after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (98) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 2 }-> 1 + (1 + #ABS(0)) :|: z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] ---------------------------------------- (99) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (100) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] ---------------------------------------- (101) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: right#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (102) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {right#1}, {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: ?, size: O(n^1) [z] ---------------------------------------- (103) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: right#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (104) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (105) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (106) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (107) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #and after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (108) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#and}, {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: ?, size: O(1) [2] ---------------------------------------- (109) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #and after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (110) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (111) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (112) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (113) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #compare after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (114) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#compare}, {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: ?, size: O(1) [3] ---------------------------------------- (115) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #compare after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (116) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z - 1, z' - 1)) + s21 :|: s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + #CKGT(#compare(z' - 1, z - 1)) + s14 :|: s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #compare(z, z') -{ 0 }-> #compare(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> #compare(z' - 1, z - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z - 1, z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> #ckgt(#compare(z' - 1, z - 1)) :|: z - 1 >= 0, z' - 1 >= 0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 1 }-> 1 + MAX#1(#ckgt(#compare(z, z')), z, z') + #GREATER(z, z') :|: z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> max#1(#ckgt(#compare(z, z')), z, z') :|: z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (117) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (118) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] ---------------------------------------- (119) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #PRED after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 4 ---------------------------------------- (120) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#PRED}, {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: ?, size: O(1) [4] ---------------------------------------- (121) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #PRED after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (122) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + #PRED(0) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + 0)) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (z' - 3))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(1 + (1 + (1 + (z' - 2)))) + #ADD(1 + (1 + 0), z') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] ---------------------------------------- (123) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (124) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] ---------------------------------------- (125) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: FIRSTLINE after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 2*z Computed SIZE bound using KoAT for: FIRSTLINE#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2*z ---------------------------------------- (126) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {FIRSTLINE,FIRSTLINE#1}, {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: ?, size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: ?, size: O(n^1) [2*z] ---------------------------------------- (127) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: FIRSTLINE after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 5 + 2*z Computed RUNTIME bound using CoFloCo for: FIRSTLINE#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 4 + 2*z ---------------------------------------- (128) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 1 }-> 1 + FIRSTLINE#1(z) :|: z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 1 }-> 1 + FIRSTLINE(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + FIRSTLINE(z') :|: z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] ---------------------------------------- (129) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (130) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] ---------------------------------------- (131) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: NEWLINE#6 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (132) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#6}, {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: ?, size: O(1) [0] ---------------------------------------- (133) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: NEWLINE#6 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (134) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] ---------------------------------------- (135) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (136) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] ---------------------------------------- (137) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #AND after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 4 ---------------------------------------- (138) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#AND}, {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: ?, size: O(1) [4] ---------------------------------------- (139) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #AND after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (140) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] ---------------------------------------- (141) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (142) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] ---------------------------------------- (143) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #abs after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (144) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#abs}, {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (145) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #abs 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: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(#abs(0), z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(#abs(0), z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#2(z) -{ 0 }-> #abs(0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(#abs(0), z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(#abs(0), z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right(z) -{ 0 }-> #abs(0) :|: z >= 0, z = 1 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] ---------------------------------------- (147) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (148) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] ---------------------------------------- (149) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #succ after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z ---------------------------------------- (150) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#succ}, {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: ?, size: O(n^1) [2 + z] ---------------------------------------- (151) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #succ after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (152) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] ---------------------------------------- (153) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (154) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] ---------------------------------------- (155) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #GREATER after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 13 + z + z' ---------------------------------------- (156) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#GREATER}, {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: ?, size: O(n^1) [13 + z + z'] ---------------------------------------- (157) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #GREATER after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (158) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 2 }-> 1 + s + #GREATER(z, z') :|: s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 2 }-> 1 + s46 + #GREATER(z, z') :|: s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] ---------------------------------------- (159) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (160) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] ---------------------------------------- (161) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: max after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (162) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {max}, {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (163) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: max after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (164) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> max(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (165) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (166) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (167) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #greater after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (168) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#greater}, {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: ?, size: O(1) [2] ---------------------------------------- (169) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #greater 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: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (171) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (172) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (173) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: #add after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2*z + z' ---------------------------------------- (174) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#add}, {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: ?, size: O(n^1) [2*z + z'] ---------------------------------------- (175) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #add 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: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #ADD(z, z') -{ 0 }-> 1 + #SUCC(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + #PRED(#succ(#add(1 + (1 + (z - 4)), z'))) + #ADD(1 + (1 + (1 + (z - 4))), z') :|: z' >= 0, z - 4 >= 0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #add(z, z') -{ 0 }-> #succ(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> #pred(#succ(#add(1 + (1 + (z - 4)), z'))) :|: z' >= 0, z - 4 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 plus(z, z') -{ 0 }-> #add(z, z') :|: z' >= 0, z >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] ---------------------------------------- (177) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (178) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] ---------------------------------------- (179) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: LCS#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 5 ---------------------------------------- (180) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS#2}, {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: ?, size: O(1) [5] ---------------------------------------- (181) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: LCS#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (182) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 1 }-> 1 + LCS#2(z) :|: z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] ---------------------------------------- (183) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (184) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] ---------------------------------------- (185) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: RIGHT after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 5 ---------------------------------------- (186) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {RIGHT}, {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: ?, size: O(1) [5] ---------------------------------------- (187) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: RIGHT after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (188) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + RIGHT(z) :|: s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 1 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + RIGHT(z) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + RIGHT(z'') :|: s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + RIGHT(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] ---------------------------------------- (189) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (190) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] ---------------------------------------- (191) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #eq after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (192) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#eq}, {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: ?, size: O(1) [2] ---------------------------------------- (193) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #eq 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: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z0, z2) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + #AND(#eq(z0, z2), #eq(z1, z3)) + #EQ'(z1, z3) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> #eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> #and(#eq(z0, z2), #eq(z1, z3)) :|: z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> #eq(z, z') :|: z' >= 0, z >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(#eq(z7, z8), z', z, z6), z'') + NEWLINE#7(#eq(z7, z8), z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(#eq(z7, z8), z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (195) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (196) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (197) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: right after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (198) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {right}, {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: ?, size: O(n^1) [z] ---------------------------------------- (199) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: right after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (200) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (201) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (202) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (203) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: lcs#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (204) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs#2}, {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: ?, size: O(n^1) [z] ---------------------------------------- (205) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: lcs#2 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: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> lcs#2(z) :|: z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (207) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (208) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (209) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: MAX after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 15 + z + z' ---------------------------------------- (210) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {MAX}, {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: ?, size: O(n^1) [15 + z + z'] ---------------------------------------- (211) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: MAX after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 3 ---------------------------------------- (212) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + MAX(z', z6) :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] ---------------------------------------- (213) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (214) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] ---------------------------------------- (215) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: #ADD after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 5*z ---------------------------------------- (216) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#ADD}, {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: ?, size: O(n^1) [5*z] ---------------------------------------- (217) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #ADD after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (218) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + #ADD(1 + (1 + 0), z') :|: s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + #ADD(1 + (1 + 0), z') :|: s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + #ADD(1 + (1 + 0), z') :|: s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + #ADD(1 + (1 + 0), z') :|: s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + #ADD(1 + (1 + 0), z') :|: s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + #ADD(1 + (1 + 0), z') :|: s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + #ADD(1 + (1 + 0), z') :|: s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + #ADD(1 + (1 + 0), z') :|: s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + #ADD(1 + (1 + 0), z') :|: s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + #ADD(1 + (1 + 0), z') :|: s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + #ADD(1 + (1 + (1 + (z - 4))), z') :|: s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + #ADD(1 + (1 + (z - 3)), z') :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + #ADD(z, z') :|: z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] ---------------------------------------- (219) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (220) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] ---------------------------------------- (221) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: plus after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2*z + z' ---------------------------------------- (222) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {plus}, {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: ?, size: O(n^1) [2*z + z'] ---------------------------------------- (223) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: plus 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: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> plus(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] ---------------------------------------- (225) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (226) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] ---------------------------------------- (227) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: LCS#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 6 ---------------------------------------- (228) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS#1}, {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: ?, size: O(1) [6] ---------------------------------------- (229) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: LCS#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 4 ---------------------------------------- (230) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(0) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] ---------------------------------------- (231) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (232) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] ---------------------------------------- (233) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #EQ' after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 11 + 5*z' ---------------------------------------- (234) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#EQ'}, {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: ?, size: O(n^1) [11 + 5*z'] ---------------------------------------- (235) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #EQ' after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (236) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + #EQ'(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + #EQ'(z0, z2) :|: s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + #EQ'(z1, z3) :|: s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + #EQ'(z, z') :|: z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] ---------------------------------------- (237) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (238) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] ---------------------------------------- (239) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #equal after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (240) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#equal}, {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: ?, size: O(1) [2] ---------------------------------------- (241) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #equal after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (242) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (243) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (244) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (245) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: lcs#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (246) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs#1}, {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: ?, size: O(n^1) [z] ---------------------------------------- (247) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: lcs#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (248) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(0) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (249) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (250) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (251) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: +' after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + 5*z ---------------------------------------- (252) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {+'}, {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: ?, size: O(n^1) [1 + 5*z] ---------------------------------------- (253) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: +' after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (254) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 1 }-> 1 + +'(z'', 1 + (1 + 0)) :|: z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] ---------------------------------------- (255) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (256) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] ---------------------------------------- (257) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: newline#7 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' + 2*z'' + z6 ---------------------------------------- (258) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#7}, {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: ?, size: O(n^1) [2 + z' + 2*z'' + z6] ---------------------------------------- (259) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: newline#7 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (260) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s89, z', z, z6), z'') + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(s91, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + NEWLINE#6(newline#7(0, z', z, z6), z'') + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(s102, z', z, z6), z'') :|: s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> newline#6(newline#7(0, z', z, z6), z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] ---------------------------------------- (261) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (262) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s129 + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s131 + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s133 + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s135 + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] ---------------------------------------- (263) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: #EQUAL after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 12 + 5*z' ---------------------------------------- (264) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s129 + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s131 + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s133 + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s135 + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {#EQUAL}, {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: ?, size: O(n^1) [12 + 5*z'] ---------------------------------------- (265) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: #EQUAL after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (266) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s129 + NEWLINE#7(s90, z', z, z6) + #EQUAL(z7, z8) :|: s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s131 + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s133 + NEWLINE#7(s92, z', z, z6) + #EQUAL(z7, z8) :|: s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 2 }-> 1 + s135 + NEWLINE#7(0, z', z, z6) + #EQUAL(z7, z8) :|: s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] ---------------------------------------- (267) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (268) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s129 + NEWLINE#7(s90, z', z, z6) + s140 :|: s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s131 + NEWLINE#7(0, z', z, z6) + s141 :|: s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s133 + NEWLINE#7(s92, z', z, z6) + s142 :|: s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s135 + NEWLINE#7(0, z', z, z6) + s143 :|: s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] ---------------------------------------- (269) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: NEWLINE#7 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 16 + z' + 5*z'' + z6 ---------------------------------------- (270) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s129 + NEWLINE#7(s90, z', z, z6) + s140 :|: s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s131 + NEWLINE#7(0, z', z, z6) + s141 :|: s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s133 + NEWLINE#7(s92, z', z, z6) + s142 :|: s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s135 + NEWLINE#7(0, z', z, z6) + s143 :|: s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#7}, {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: ?, size: O(n^1) [16 + z' + 5*z'' + z6] ---------------------------------------- (271) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: NEWLINE#7 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 4 ---------------------------------------- (272) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s129 + NEWLINE#7(s90, z', z, z6) + s140 :|: s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s131 + NEWLINE#7(0, z', z, z6) + s141 :|: s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s133 + NEWLINE#7(s92, z', z, z6) + s142 :|: s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 3 }-> 1 + s135 + NEWLINE#7(0, z', z, z6) + s143 :|: s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] ---------------------------------------- (273) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (274) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] ---------------------------------------- (275) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: newline#5 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 3 + 2*z + z' + z'' + z6 ---------------------------------------- (276) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#5}, {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: ?, size: O(n^1) [3 + 2*z + z' + z'' + z6] ---------------------------------------- (277) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: newline#5 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (278) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(s62, z', z6, z, z7, z8) :|: s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(z0', z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> newline#5(0, z', z6, z, z7, z8) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] ---------------------------------------- (279) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (280) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] ---------------------------------------- (281) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: NEWLINE#5 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 29 + 5*z + z' + z6 + 5*z8 ---------------------------------------- (282) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#5}, {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: ?, size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] ---------------------------------------- (283) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: NEWLINE#5 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 7 ---------------------------------------- (284) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(s60, z', z6, z, z7, z8) + s85 :|: s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(z0', z', z6, z, z7, z8) + s86 :|: s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 4 }-> 1 + NEWLINE#5(0, z', z6, z, z7, z8) + s82 :|: s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] ---------------------------------------- (285) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (286) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] ---------------------------------------- (287) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: newline#4 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 3 + z + z' + 2*z'' + z6 ---------------------------------------- (288) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#4}, {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: ?, size: O(n^1) [3 + z + z' + 2*z'' + z6] ---------------------------------------- (289) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: newline#4 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (290) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(s61, z', z'', z, z6, z7) :|: s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(z0', z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> newline#4(0, z', z'', z, z6, z7) :|: z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] ---------------------------------------- (291) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (292) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] ---------------------------------------- (293) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: NEWLINE#4 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 35 + z + z' + 5*z'' + 5*z8 ---------------------------------------- (294) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#4}, {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: ?, size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] ---------------------------------------- (295) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: NEWLINE#4 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 11 ---------------------------------------- (296) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(s59, z', z'', z, z6, z7) + s83 :|: s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(z0', z', z'', z, z6, z7) + s84 :|: s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#3(z, z', z'', z6, z7) -{ 4 }-> 1 + NEWLINE#4(0, z', z'', z, z6, z7) + s81 :|: s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] ---------------------------------------- (297) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (298) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] ---------------------------------------- (299) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: newline#3 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 3 + 2*z + z' + 2*z'' ---------------------------------------- (300) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#3}, {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: ?, size: O(n^1) [3 + 2*z + z' + 2*z''] ---------------------------------------- (301) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: newline#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (302) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(0, z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] ---------------------------------------- (303) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (304) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] ---------------------------------------- (305) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: NEWLINE#3 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 41 + z + z' + 5*z'' + 5*z7 ---------------------------------------- (306) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#3}, {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: ?, size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] ---------------------------------------- (307) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: NEWLINE#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 15 ---------------------------------------- (308) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(0, z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] ---------------------------------------- (309) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (310) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 16 }-> 1 + s161 + NEWLINE(z6, z1, z'') :|: s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] ---------------------------------------- (311) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: newline#1 after applying outer abstraction to obtain an ITS, resulting in: EXP with polynomial bound: ? Computed SIZE bound using CoFloCo for: newline#2 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (312) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 16 }-> 1 + s161 + NEWLINE(z6, z1, z'') :|: s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline#1,newline#2}, {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: ?, size: EXP newline#2: runtime: ?, size: INF ---------------------------------------- (313) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: newline#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 Computed RUNTIME bound using CoFloCo for: newline#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (314) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 16 }-> 1 + s161 + NEWLINE(z6, z1, z'') :|: s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 1 + NEWLINE#3(newline#1(z'', z1, z6), z0, z1, z', z6) + NEWLINE(z6, z1, z'') :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> newline#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> newline#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> newline#3(newline#1(z'', z1, z6), z0, z1, z', z6) :|: z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF ---------------------------------------- (315) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (316) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 16 }-> 1 + s161 + NEWLINE(z6, z1, z'') :|: s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 16 }-> 1 + s163 + NEWLINE(z6, z1, z'') :|: s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF ---------------------------------------- (317) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: NEWLINE#1 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? Computed SIZE bound using CoFloCo for: NEWLINE#2 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? Computed SIZE bound using CoFloCo for: NEWLINE after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (318) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 16 }-> 1 + s161 + NEWLINE(z6, z1, z'') :|: s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 16 }-> 1 + s163 + NEWLINE(z6, z1, z'') :|: s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {NEWLINE#1,NEWLINE#2,NEWLINE}, {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: ?, size: INF NEWLINE#2: runtime: ?, size: INF NEWLINE: runtime: ?, size: INF ---------------------------------------- (319) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: NEWLINE#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 35 + 18*z Computed RUNTIME bound using CoFloCo for: NEWLINE#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 52 + 18*z'' Computed RUNTIME bound using CoFloCo for: NEWLINE after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 36 + 18*z'' ---------------------------------------- (320) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 1 + NEWLINE(z'', z0, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 1 }-> 1 + NEWLINE#1(z'', z', z) :|: z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 1 + NEWLINE#2(z', z0, z1, z'') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 16 }-> 1 + s161 + NEWLINE(z6, z1, z'') :|: s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 16 }-> 1 + s163 + NEWLINE(z6, z1, z'') :|: s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF ---------------------------------------- (321) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (322) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF ---------------------------------------- (323) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: newline after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (324) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {newline}, {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: ?, size: INF ---------------------------------------- (325) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: newline after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (326) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + newline(z'', z0, z') + (1 + z0 + z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF ---------------------------------------- (327) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (328) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF ---------------------------------------- (329) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: LCSTABLE#3 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (330) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCSTABLE#3}, {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: ?, size: INF ---------------------------------------- (331) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: LCSTABLE#3 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 37 + 18*z' ---------------------------------------- (332) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 1 }-> 1 + LCSTABLE#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF ---------------------------------------- (333) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (334) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF ---------------------------------------- (335) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: lcstable#3 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (336) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable#3}, {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: ?, size: INF ---------------------------------------- (337) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: lcstable#3 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (338) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> lcstable#3(z, z', z'') :|: z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF ---------------------------------------- (339) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (340) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF ---------------------------------------- (341) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: LCSTABLE#2 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (342) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCSTABLE#2}, {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: ?, size: INF ---------------------------------------- (343) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: LCSTABLE#2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 38 + 18*z' ---------------------------------------- (344) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(0, z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF ---------------------------------------- (345) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (346) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF ---------------------------------------- (347) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: lcstable#2 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (348) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable#2}, {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: ?, size: INF ---------------------------------------- (349) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: lcstable#2 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (350) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(0, z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF ---------------------------------------- (351) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (352) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF ---------------------------------------- (353) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: lcstable#1 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (354) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable#1}, {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: ?, size: INF ---------------------------------------- (355) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: lcstable#1 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (356) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 1 }-> 1 + LCS#1(lcstable#1(z, z')) + LCSTABLE(z, z') :|: z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 1 }-> 1 + LCSTABLE#2(lcstable#1(z1, z'), z', z0) + LCSTABLE(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> lcs#1(lcstable#1(z, z')) :|: z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> lcstable#1(z, z') :|: z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> lcstable#2(lcstable#1(z1, z'), z', z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF ---------------------------------------- (357) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (358) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 5 }-> 1 + s179 + LCSTABLE(z, z') :|: s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s181 + LCSTABLE(z1, z') :|: s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF ---------------------------------------- (359) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: lcstable after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (360) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 5 }-> 1 + s179 + LCSTABLE(z, z') :|: s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s181 + LCSTABLE(z1, z') :|: s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcstable}, {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: ?, size: INF ---------------------------------------- (361) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: lcstable after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (362) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 5 }-> 1 + s179 + LCSTABLE(z, z') :|: s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s181 + LCSTABLE(z1, z') :|: s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF ---------------------------------------- (363) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (364) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 5 }-> 1 + s179 + LCSTABLE(z, z') :|: s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s181 + LCSTABLE(z1, z') :|: s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF ---------------------------------------- (365) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: lcs after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (366) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 5 }-> 1 + s179 + LCSTABLE(z, z') :|: s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s181 + LCSTABLE(z1, z') :|: s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {lcs}, {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF lcs: runtime: ?, size: INF ---------------------------------------- (367) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: lcs after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (368) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 5 }-> 1 + s179 + LCSTABLE(z, z') :|: s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s181 + LCSTABLE(z1, z') :|: s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF lcs: runtime: O(1) [0], size: INF ---------------------------------------- (369) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (370) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 5 }-> 1 + s179 + LCSTABLE(z, z') :|: s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s181 + LCSTABLE(z1, z') :|: s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF lcs: runtime: O(1) [0], size: INF ---------------------------------------- (371) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: LCSTABLE after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? Computed SIZE bound using CoFloCo for: LCSTABLE#1 after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (372) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 5 }-> 1 + s179 + LCSTABLE(z, z') :|: s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s181 + LCSTABLE(z1, z') :|: s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCSTABLE,LCSTABLE#1}, {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF lcs: runtime: O(1) [0], size: INF LCSTABLE: runtime: ?, size: INF LCSTABLE#1: runtime: ?, size: INF ---------------------------------------- (373) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: LCSTABLE after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 47 + 40*z + 18*z*z' + 20*z' Computed RUNTIME bound using KoAT for: LCSTABLE#1 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 178 + 80*z + 36*z*z' + 78*z' ---------------------------------------- (374) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 5 }-> 1 + s121 + LCSTABLE(z, z') :|: s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 5 }-> 1 + s179 + LCSTABLE(z, z') :|: s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 1 }-> 1 + LCSTABLE#1(z, z') :|: z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s176 + LCSTABLE(z1, z') :|: s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 39 + 18*z' }-> 1 + s181 + LCSTABLE(z1, z') :|: s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF lcs: runtime: O(1) [0], size: INF LCSTABLE: runtime: O(n^2) [47 + 40*z + 18*z*z' + 20*z'], size: INF LCSTABLE#1: runtime: O(n^2) [178 + 80*z + 36*z*z' + 78*z'], size: INF ---------------------------------------- (375) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (376) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 52 + 40*z + 18*z*z' + 20*z' }-> 1 + s121 + s188 :|: s188 >= 0, s188 <= inf20, s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 52 + 40*z + 18*z*z' + 20*z' }-> 1 + s179 + s187 :|: s187 >= 0, s187 <= inf19, s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 179 + 80*z + 36*z*z' + 78*z' }-> 1 + s189 :|: s189 >= 0, s189 <= inf21, z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 86 + 38*z' + 18*z'*z1 + 40*z1 }-> 1 + s176 + s191 :|: s191 >= 0, s191 <= inf23, s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 86 + 38*z' + 18*z'*z1 + 40*z1 }-> 1 + s181 + s190 :|: s190 >= 0, s190 <= inf22, s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF lcs: runtime: O(1) [0], size: INF LCSTABLE: runtime: O(n^2) [47 + 40*z + 18*z*z' + 20*z'], size: INF LCSTABLE#1: runtime: O(n^2) [178 + 80*z + 36*z*z' + 78*z'], size: INF ---------------------------------------- (377) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: LCS after applying outer abstraction to obtain an ITS, resulting in: INF with polynomial bound: ? ---------------------------------------- (378) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 52 + 40*z + 18*z*z' + 20*z' }-> 1 + s121 + s188 :|: s188 >= 0, s188 <= inf20, s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 52 + 40*z + 18*z*z' + 20*z' }-> 1 + s179 + s187 :|: s187 >= 0, s187 <= inf19, s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 179 + 80*z + 36*z*z' + 78*z' }-> 1 + s189 :|: s189 >= 0, s189 <= inf21, z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 86 + 38*z' + 18*z'*z1 + 40*z1 }-> 1 + s176 + s191 :|: s191 >= 0, s191 <= inf23, s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 86 + 38*z' + 18*z'*z1 + 40*z1 }-> 1 + s181 + s190 :|: s190 >= 0, s190 <= inf22, s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: {LCS} Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF lcs: runtime: O(1) [0], size: INF LCSTABLE: runtime: O(n^2) [47 + 40*z + 18*z*z' + 20*z'], size: INF LCSTABLE#1: runtime: O(n^2) [178 + 80*z + 36*z*z' + 78*z'], size: INF LCS: runtime: ?, size: INF ---------------------------------------- (379) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: LCS after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 104 + 80*z + 36*z*z' + 40*z' ---------------------------------------- (380) Obligation: Complexity RNTS consisting of the following rules: #ABS(z) -{ 1 }-> 3 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 2 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 1 :|: z - 1 >= 0 #ABS(z) -{ 1 }-> 0 :|: z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 #ADD(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 4 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 3 :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + 2 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + 1 :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #ADD(z, z') -{ 0 }-> 1 + 0 :|: z = 1 + (1 + 0), z' >= 0 #ADD(z, z') -{ 0 }-> 1 + s' + s114 :|: s114 >= 0, s114 <= 5 * (1 + (1 + 0)), s' >= 0, s' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s'' + s115 :|: s115 >= 0, s115 <= 5 * (1 + (1 + 0)), s'' >= 0, s'' <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s1 + s116 :|: s116 >= 0, s116 <= 5 * (1 + (1 + 0)), s1 >= 0, s1 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s2 + s117 :|: s117 >= 0, s117 <= 5 * (1 + (1 + 0)), s2 >= 0, s2 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s3 + s118 :|: s118 >= 0, s118 <= 5 * (1 + (1 + 0)), s3 >= 0, s3 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s50 + s108 :|: s108 >= 0, s108 <= 5 * (1 + (1 + 0)), s50 >= 0, s50 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)) #ADD(z, z') -{ 0 }-> 1 + s51 + s109 :|: s109 >= 0, s109 <= 5 * (1 + (1 + 0)), s51 >= 0, s51 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #ADD(z, z') -{ 0 }-> 1 + s52 + s110 :|: s110 >= 0, s110 <= 5 * (1 + (1 + 0)), s52 >= 0, s52 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #ADD(z, z') -{ 0 }-> 1 + s53 + s111 :|: s111 >= 0, s111 <= 5 * (1 + (1 + 0)), s53 >= 0, s53 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #ADD(z, z') -{ 0 }-> 1 + s54 + s112 :|: s112 >= 0, s112 <= 5 * (1 + (1 + 0)), s54 >= 0, s54 <= 4, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #ADD(z, z') -{ 0 }-> 1 + s73 + s113 :|: s113 >= 0, s113 <= 5 * (1 + (1 + (1 + (z - 4)))), s71 >= 0, s71 <= 2 * (1 + (1 + (z - 4))) + z', s72 >= 0, s72 <= s71 + 2, s73 >= 0, s73 <= 4, z' >= 0, z - 4 >= 0 #ADD(z, z') -{ 0 }-> 1 + s76 + s119 :|: s119 >= 0, s119 <= 5 * (1 + (1 + (1 + (z - 4)))), s74 >= 0, s74 <= 2 * (1 + (1 + (z - 4))) + z', s75 >= 0, s75 <= s74 + 2, s76 >= 0, s76 <= 4, z - 4 >= 0, z' >= 0 #ADD(z, z') -{ 0 }-> 1 + 1 + s107 :|: s107 >= 0, s107 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, 0 = 0 #ADD(z, z') -{ 0 }-> 1 + 0 + s106 :|: s106 >= 0, s106 <= 5 * (1 + (1 + (z - 3))), z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #AND(z, z') -{ 0 }-> 4 :|: z = 2, z' = 2 #AND(z, z') -{ 0 }-> 3 :|: z = 2, z' = 1 #AND(z, z') -{ 0 }-> 2 :|: z' = 2, z = 1 #AND(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #AND(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #CKGT(z) -{ 0 }-> 3 :|: z = 1 #CKGT(z) -{ 0 }-> 2 :|: z = 3 #CKGT(z) -{ 0 }-> 1 :|: z = 2 #CKGT(z) -{ 0 }-> 0 :|: z >= 0 #COMPARE(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #COMPARE(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s4 :|: s4 >= 0, s4 <= z' - 1 + (z - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #COMPARE(z, z') -{ 0 }-> 1 + s5 :|: s5 >= 0, s5 <= z - 1 + (z' - 1) + 9, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 9 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #EQ'(z, z') -{ 0 }-> 8 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 7 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 6 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 5 :|: z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 4 :|: z - 1 >= 0, z' = 0 #EQ'(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 11 :|: z = 1, z' = 1 #EQ'(z, z') -{ 0 }-> 10 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #EQ'(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0 #EQ'(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #EQ'(z, z') -{ 0 }-> 1 + s123 :|: s123 >= 0, s123 <= 5 * (z' - 1) + 11, z' - 1 >= 0, z - 1 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s95 + s124 :|: s124 >= 0, s124 <= 5 * z2 + 11, s93 >= 0, s93 <= 2, s94 >= 0, s94 <= 2, s95 >= 0, s95 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQ'(z, z') -{ 0 }-> 1 + s98 + s125 :|: s125 >= 0, s125 <= 5 * z3 + 11, s96 >= 0, s96 <= 2, s97 >= 0, s97 <= 2, s98 >= 0, s98 <= 4, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #EQUAL(z, z') -{ 1 }-> 1 + s122 :|: s122 >= 0, s122 <= 5 * z' + 11, z' >= 0, z >= 0 #GREATER(z, z') -{ 1 }-> 1 + s37 + s14 :|: s36 >= 0, s36 <= 3, s37 >= 0, s37 <= 3, s14 >= 0, s14 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + s39 + s21 :|: s38 >= 0, s38 <= 3, s39 >= 0, s39 <= 3, s21 >= 0, s21 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0 #GREATER(z, z') -{ 1 }-> 1 + 3 + s7 :|: s7 >= 0, s7 <= 0 + 0 + 9, z = 0, z' = 0, 1 = 1 #GREATER(z, z') -{ 1 }-> 1 + 2 + s10 :|: s10 >= 0, s10 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s12 :|: s12 >= 0, s12 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 2 + s15 :|: s15 >= 0, s15 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, 3 = 3 #GREATER(z, z') -{ 1 }-> 1 + 1 + s17 :|: s17 >= 0, s17 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s19 :|: s19 >= 0, s19 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 1 + s8 :|: s8 >= 0, s8 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, 2 = 2 #GREATER(z, z') -{ 1 }-> 1 + 0 + s11 :|: s11 >= 0, s11 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s13 :|: s13 >= 0, s13 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s16 :|: s16 >= 0, s16 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s18 :|: s18 >= 0, s18 <= 1 + (z - 1) + 0 + 9, z - 1 >= 0, z' = 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s20 :|: s20 >= 0, s20 <= 1 + (z - 1) + (1 + (z' - 1)) + 9, z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s22 :|: s22 >= 0, s22 <= z + z' + 9, z' >= 0, z >= 0, v0 >= 0, 0 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s6 :|: s6 >= 0, s6 <= 0 + 0 + 9, z = 0, z' = 0, v0 >= 0, 1 = v0 #GREATER(z, z') -{ 1 }-> 1 + 0 + s9 :|: s9 >= 0, s9 <= 0 + (1 + (z' - 1)) + 9, z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #PRED(z) -{ 0 }-> 4 :|: z - 3 >= 0 #PRED(z) -{ 0 }-> 3 :|: z = 1 + (1 + 0) #PRED(z) -{ 0 }-> 2 :|: z - 2 >= 0 #PRED(z) -{ 0 }-> 1 :|: z = 0 #PRED(z) -{ 0 }-> 0 :|: z >= 0 #SUCC(z) -{ 0 }-> 4 :|: z - 2 >= 0 #SUCC(z) -{ 0 }-> 3 :|: z - 3 >= 0 #SUCC(z) -{ 0 }-> 2 :|: z = 1 + (1 + 0) #SUCC(z) -{ 0 }-> 1 :|: z = 0 #SUCC(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 0 :|: z = 0 #abs(z) -{ 0 }-> 0 :|: z >= 0 #abs(z) -{ 0 }-> 1 + (z - 1) :|: z - 1 >= 0 #abs(z) -{ 0 }-> 1 + (1 + (z - 1)) :|: z - 1 >= 0 #add(z, z') -{ 0 }-> s27 :|: s27 >= 0, s27 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)) #add(z, z') -{ 0 }-> s28 :|: s28 >= 0, s28 <= 1 + (1 + (1 + (z' - 2))) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0 #add(z, z') -{ 0 }-> s29 :|: s29 >= 0, s29 <= 1 + (1 + (z' - 3)) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0 #add(z, z') -{ 0 }-> s30 :|: s30 >= 0, s30 <= 0 + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> s31 :|: s31 >= 0, s31 <= 1 + (1 + 0) + 2, z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0 #add(z, z') -{ 0 }-> s70 :|: s68 >= 0, s68 <= 2 * (1 + (1 + (z - 4))) + z', s69 >= 0, s69 <= s68 + 2, s70 >= 0, s70 <= s69 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> s79 :|: s77 >= 0, s77 <= 2 * (1 + (1 + (z - 4))) + z', s78 >= 0, s78 <= s77 + 2, s79 >= 0, s79 <= s78 + 2, z' >= 0, z - 4 >= 0 #add(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 #add(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0, z' = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z = 1 + (1 + 0), z' >= 0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z - 3 >= 0, v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), v0' >= 0, 0 = v0' #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, v0 >= 0, 1 + (1 + (1 + (z' - 2))) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, v0 >= 0, 1 + (1 + (z' - 3)) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), v0 >= 0, 0 = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, v0 >= 0, 1 + (1 + 0) = v0 #add(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, 1 + (1 + 0) = 1 + (1 + 0) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + z0') :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + (1 + z0')) #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z = 1 + (1 + 0), z' >= 0, z' = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z - 3 >= 0, 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + 0) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 1 + (1 + 0), 0 = 0 #add(z, z') -{ 0 }-> 1 + (1 + (z' - 3)) :|: z = 1 + (1 + 0), z' >= 0, z' - 3 >= 0 #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0)) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' = 0, z0 >= 0, 1 + (1 + 0) = 1 + (1 + z0) #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 2 >= 0, z0' >= 0, 1 + (1 + (1 + (z' - 2))) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + z0')) :|: z' >= 0, z = 1 + (1 + (1 + 0)), z' - 3 >= 0, z0' >= 0, 1 + (1 + (z' - 3)) = 1 + (1 + z0') #add(z, z') -{ 0 }-> 1 + (1 + (1 + (z' - 2))) :|: z = 1 + (1 + 0), z' >= 0, z' - 2 >= 0 #and(z, z') -{ 0 }-> 2 :|: z = 2, z' = 2 #and(z, z') -{ 0 }-> 1 :|: z = 1, z' = 1 #and(z, z') -{ 0 }-> 1 :|: z' = 2, z = 1 #and(z, z') -{ 0 }-> 1 :|: z = 2, z' = 1 #and(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #ckgt(z) -{ 0 }-> 2 :|: z = 2 #ckgt(z) -{ 0 }-> 1 :|: z = 1 #ckgt(z) -{ 0 }-> 1 :|: z = 3 #ckgt(z) -{ 0 }-> 0 :|: z >= 0 #compare(z, z') -{ 0 }-> s34 :|: s34 >= 0, s34 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> s35 :|: s35 >= 0, s35 <= 3, z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 3 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 3 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0 #compare(z, z') -{ 0 }-> 2 :|: z - 1 >= 0, z' = 0 #compare(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0 #compare(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0 #compare(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #eq(z, z') -{ 0 }-> s101 :|: s99 >= 0, s99 <= 2, s100 >= 0, s100 <= 2, s101 >= 0, s101 <= 2, z1 >= 0, z' = 1 + z2 + z3, z0 >= 0, z = 1 + z0 + z1, z2 >= 0, z3 >= 0 #eq(z, z') -{ 0 }-> s87 :|: s87 >= 0, s87 <= 2, z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 2 :|: z = 0, z' = 0 #eq(z, z') -{ 0 }-> 2 :|: z = 1, z' = 1 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0 #eq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 #eq(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z - 1 >= 0 #eq(z, z') -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z' = 1, z = 1 + z0 + z1 #eq(z, z') -{ 0 }-> 1 :|: z' = 1 + z0 + z1, z1 >= 0, z = 1, z0 >= 0 #eq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #equal(z, z') -{ 0 }-> s88 :|: s88 >= 0, s88 <= 2, z' >= 0, z >= 0 #equal(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> s41 :|: s40 >= 0, s40 <= 3, s41 >= 0, s41 <= 2, z - 1 >= 0, z' - 1 >= 0 #greater(z, z') -{ 0 }-> s43 :|: s42 >= 0, s42 <= 3, s43 >= 0, s43 <= 2, z' - 1 >= 0, z - 1 >= 0 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z = 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' = 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 2 :|: z' - 1 >= 0, z - 1 >= 0, 2 = 2 #greater(z, z') -{ 0 }-> 1 :|: z = 0, z' = 0, 1 = 1 #greater(z, z') -{ 0 }-> 1 :|: z' - 1 >= 0, z = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0, 3 = 3 #greater(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' - 1 >= 0, 3 = 3 #greater(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 #greater(z, z') -{ 0 }-> 0 :|: z = 0, z' = 0, v0 >= 0, 1 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' - 1 >= 0, v0 >= 0, 3 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' = 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' - 1 >= 0, z - 1 >= 0, v0 >= 0, 2 = v0 #greater(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 #pred(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #pred(z) -{ 0 }-> 0 :|: z >= 0 #pred(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #pred(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #pred(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 #succ(z) -{ 0 }-> 0 :|: z = 1 + (1 + 0) #succ(z) -{ 0 }-> 0 :|: z >= 0 #succ(z) -{ 0 }-> 1 + (1 + 0) :|: z = 0 #succ(z) -{ 0 }-> 1 + (1 + (z - 3)) :|: z - 3 >= 0 #succ(z) -{ 0 }-> 1 + (1 + (1 + (z - 2))) :|: z - 2 >= 0 +'(z, z') -{ 1 }-> 1 + s105 :|: s105 >= 0, s105 <= 5 * z, z' >= 0, z >= 0 FIRSTLINE(z) -{ 5 + 2*z }-> 1 + s55 :|: s55 >= 0, s55 <= 2 * z, z >= 0 FIRSTLINE#1(z) -{ 1 }-> 0 :|: z = 1 FIRSTLINE#1(z) -{ 6 + 2*z1 }-> 1 + s56 :|: s56 >= 0, s56 <= 2 * z1 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 FIRSTLINE#1(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 LCS(z, z') -{ 52 + 40*z + 18*z*z' + 20*z' }-> 1 + s121 + s188 :|: s188 >= 0, s188 <= inf20, s121 >= 0, s121 <= 6, z' >= 0, z >= 0 LCS(z, z') -{ 52 + 40*z + 18*z*z' + 20*z' }-> 1 + s179 + s187 :|: s187 >= 0, s187 <= inf19, s178 >= 0, s178 <= inf12, s179 >= 0, s179 <= 6, z' >= 0, z >= 0 LCS#1(z) -{ 4 }-> 1 + s80 :|: s80 >= 0, s80 <= 5, z >= 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCS#2(z) -{ 2 }-> 1 + 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' LCS#2(z) -{ 3 }-> 1 + (1 + s32) :|: s32 >= 0, s32 <= 3, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 LCS#3(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LCS#3(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 LCSTABLE(z, z') -{ 179 + 80*z + 36*z*z' + 78*z' }-> 1 + s189 :|: s189 >= 0, s189 <= inf21, z' >= 0, z >= 0 LCSTABLE#1(z, z') -{ 6 + 2*z' }-> 1 + s57 :|: s57 >= 0, s57 <= 2 * z' + 1, z = 1, z' >= 0 LCSTABLE#1(z, z') -{ 86 + 38*z' + 18*z'*z1 + 40*z1 }-> 1 + s176 + s191 :|: s191 >= 0, s191 <= inf23, s176 >= 0, s176 <= inf10, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#1(z, z') -{ 86 + 38*z' + 18*z'*z1 + 40*z1 }-> 1 + s181 + s190 :|: s190 >= 0, s190 <= inf22, s180 >= 0, s180 <= inf13, s181 >= 0, s181 <= inf14, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 LCSTABLE#2(z, z', z'') -{ 38 + 18*z' }-> 1 + s174 :|: s174 >= 0, s174 <= inf8, z' >= 0, z >= 0, z'' >= 0 LCSTABLE#3(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 LCSTABLE#3(z, z', z'') -{ 37 + 18*z' }-> 1 + s168 :|: s168 >= 0, s168 <= inf2, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 MAX(z, z') -{ 3 }-> 1 + s + s64 :|: s64 >= 0, s64 <= z + z' + 13, s >= 0, s <= 1, z' >= 0, z >= 0 MAX(z, z') -{ 3 }-> 1 + s46 + s65 :|: s65 >= 0, s65 <= z + z' + 13, s44 >= 0, s44 <= 3, s45 >= 0, s45 <= 2, s46 >= 0, s46 <= 1, z' >= 0, z >= 0 MAX#1(z, z', z'') -{ 1 }-> 1 :|: z = 2, z'' >= 0, z' >= 0 MAX#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE(z, z', z'') -{ 36 + 18*z'' }-> 1 + s169 :|: s169 >= 0, s169 <= inf3, z' >= 0, z >= 0, z'' >= 0 NEWLINE#1(z, z', z'') -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0 NEWLINE#1(z, z', z'') -{ 53 + 18*z1 }-> 1 + s170 :|: s170 >= 0, s170 <= inf4, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 1 }-> 0 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s161 + s172 :|: s172 >= 0, s172 <= inf6, s161 >= 0, s161 <= 0 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#2(z, z', z'', z6) -{ 52 + 18*z'' }-> 1 + s163 + s171 :|: s171 >= 0, s171 <= inf5, s162 >= 0, s162 <= inf, s163 >= 0, s163 <= s162 + z0 + 5 * z1 + 5 * z6 + 41, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s157 + s81 :|: s157 >= 0, s157 <= 0 + z' + 5 * z'' + 5 * z7 + 35, s81 >= 0, s81 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s158 + s83 :|: s158 >= 0, s158 <= s59 + z' + 5 * z'' + 5 * z7 + 35, s83 >= 0, s83 <= 5, s59 >= 0, s59 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 NEWLINE#3(z, z', z'', z6, z7) -{ 15 }-> 1 + s159 + s84 :|: s159 >= 0, s159 <= z0' + z' + 5 * z'' + 5 * z7 + 35, s84 >= 0, s84 <= 5, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s151 + s82 :|: s151 >= 0, s151 <= 5 * 0 + z' + z + 5 * z8 + 29, s82 >= 0, s82 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s152 + s85 :|: s152 >= 0, s152 <= 5 * s60 + z' + z + 5 * z8 + 29, s85 >= 0, s85 <= 5, s60 >= 0, s60 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 NEWLINE#4(z, z', z'', z6, z7, z8) -{ 11 }-> 1 + s153 + s86 :|: s153 >= 0, s153 <= 5 * z0' + z' + z + 5 * z8 + 29, s86 >= 0, s86 <= 5, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s129 + s144 + s140 :|: s144 >= 0, s144 <= z' + z6 + 16 + 5 * z, s140 >= 0, s140 <= 5 * z8 + 12, s128 >= 0, s128 <= 2 * z + 2 + z' + z6, s129 >= 0, s129 <= 0, s89 >= 0, s89 <= 2, s90 >= 0, s90 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s131 + s145 + s141 :|: s145 >= 0, s145 <= z' + z6 + 16 + 5 * z, s141 >= 0, s141 <= 5 * z8 + 12, s130 >= 0, s130 <= 2 * z + 2 + z' + z6, s131 >= 0, s131 <= 0, s91 >= 0, s91 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s133 + s146 + s142 :|: s146 >= 0, s146 <= z' + z6 + 16 + 5 * z, s142 >= 0, s142 <= 5 * z8 + 12, s132 >= 0, s132 <= 2 * z + 2 + z' + z6, s133 >= 0, s133 <= 0, s92 >= 0, s92 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#5(z, z', z'', z6, z7, z8) -{ 7 }-> 1 + s135 + s147 + s143 :|: s147 >= 0, s147 <= z' + z6 + 16 + 5 * z, s143 >= 0, s143 <= 5 * z8 + 12, s134 >= 0, s134 <= 2 * z + 2 + z' + z6, s135 >= 0, s135 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 NEWLINE#6(z, z') -{ 1 }-> 0 :|: z' >= 0, z >= 0 NEWLINE#7(z, z', z'', z6) -{ 4 }-> 1 + s104 :|: s104 >= 0, s104 <= z' + z6 + 15, z'' >= 0, z = 1, z' >= 0, z6 >= 0 NEWLINE#7(z, z', z'', z6) -{ 2 }-> 1 + s127 :|: s127 >= 0, s127 <= 5 * z'' + 1, z = 2, z'' >= 0, z' >= 0, z6 >= 0 RIGHT(z) -{ 2 }-> 1 + 0 :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 RIGHT(z) -{ 3 }-> 1 + (1 + s33) :|: s33 >= 0, s33 <= 3, z >= 0, z = 1 RIGHT#1(z) -{ 1 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 RIGHT#1(z) -{ 2 }-> 1 + 0 :|: z = 1, 0 = 0 firstline(z) -{ 0 }-> s23 :|: s23 >= 0, s23 <= z, z >= 0 firstline(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 :|: z = 1 firstline#1(z) -{ 0 }-> 0 :|: z >= 0 firstline#1(z) -{ 0 }-> 1 + 0 + s25 :|: s25 >= 0, s25 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, 0 = 0 firstline#1(z) -{ 0 }-> 1 + 0 + s26 :|: s26 >= 0, s26 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, 0 = v0 lcs(z, z') -{ 0 }-> s126 :|: s126 >= 0, s126 <= 0, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> s183 :|: s182 >= 0, s182 <= inf15, s183 >= 0, s183 <= s182, z' >= 0, z >= 0 lcs(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcs#1(z) -{ 0 }-> s103 :|: s103 >= 0, s103 <= z, z >= 0 lcs#1(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> s58 :|: s58 >= 0, s58 <= 0 + 1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z0 = 1 lcs#2(z) -{ 0 }-> z0' :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z1' >= 0, z0' >= 0, z0 = 1 + z0' + z1' lcs#2(z) -{ 0 }-> 0 :|: z >= 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#2(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcs#2(z) -{ 0 }-> 0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, v0 >= 0, z0 = v0 lcs#3(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 lcs#3(z) -{ 0 }-> 0 :|: z >= 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 lcs#3(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 lcstable(z, z') -{ 0 }-> s184 :|: s184 >= 0, s184 <= inf16, z' >= 0, z >= 0 lcstable(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> s177 :|: s177 >= 0, s177 <= inf11, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> s186 :|: s185 >= 0, s185 <= inf17, s186 >= 0, s186 <= inf18, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 lcstable#1(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 lcstable#1(z, z') -{ 0 }-> 1 + s24 + 1 :|: s24 >= 0, s24 <= z', z = 1, z' >= 0 lcstable#2(z, z', z'') -{ 0 }-> s175 :|: s175 >= 0, s175 <= inf9, z' >= 0, z >= 0, z'' >= 0 lcstable#2(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 lcstable#3(z, z', z'') -{ 0 }-> 1 + s173 + (1 + z0 + z1) :|: s173 >= 0, s173 <= inf7, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 max(z, z') -{ 0 }-> s49 :|: s47 >= 0, s47 <= 3, s48 >= 0, s48 <= 2, s49 >= 0, s49 <= z' + z, z' >= 0, z >= 0 max(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 max(z, z') -{ 0 }-> 0 :|: z' >= 0, z >= 0, v0 >= 0, 0 = v0 max#1(z, z', z'') -{ 0 }-> z' :|: z = 2, z'' >= 0, z' >= 0 max#1(z, z', z'') -{ 0 }-> z'' :|: z'' >= 0, z = 1, z' >= 0 max#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> s164 :|: s164 >= 0, s164 <= inf', z' >= 0, z >= 0, z'' >= 0 newline(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> s165 :|: s165 >= 0, s165 <= inf'', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#1(z, z', z'') -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0 newline#1(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s160 :|: s160 >= 0, s160 <= 2 * 0 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> s167 :|: s166 >= 0, s166 <= inf1, s167 >= 0, s167 <= 2 * s166 + z0 + 2 * z1 + 3, z1 >= 0, z0 >= 0, z6 >= 0, z = 1 + z0 + z1, z' >= 0, z'' >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 1 :|: z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#2(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s154 :|: s154 >= 0, s154 <= 0 + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#3(z, z', z'', z6, z7) -{ 0 }-> s155 :|: s155 >= 0, s155 <= s61 + z' + 2 * z'' + z + 3, s61 >= 0, s61 <= 0 + 1, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z = 1 newline#3(z, z', z'', z6, z7) -{ 0 }-> s156 :|: s156 >= 0, s156 <= z0' + z' + 2 * z'' + z + 3, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z = 1 + z0' + z1' newline#3(z, z', z'', z6, z7) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s148 :|: s148 >= 0, s148 <= 2 * 0 + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s149 :|: s149 >= 0, s149 <= 2 * s62 + z' + z6 + z + 3, s62 >= 0, s62 <= 0 + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z'' = 1 newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> s150 :|: s150 >= 0, s150 <= 2 * z0' + z' + z6 + z + 3, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z1' >= 0, z0' >= 0, z'' = 1 + z0' + z1' newline#4(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s137 :|: s136 >= 0, s136 <= 2 * z + 2 + z' + z6, s137 >= 0, s137 <= s136 + z'' + 1, s102 >= 0, s102 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> s139 :|: s138 >= 0, s138 <= 2 * z + 2 + z' + z6, s139 >= 0, s139 <= s138 + z'' + 1, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 newline#5(z, z', z'', z6, z7, z8) -{ 0 }-> 0 :|: z >= 0, z7 >= 0, z' >= 0, z8 >= 0, z'' >= 0, z6 >= 0 newline#6(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 newline#6(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s120 :|: s120 >= 0, s120 <= 2 * z'' + (1 + (1 + 0)), z = 2, z'' >= 0, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> s66 :|: s66 >= 0, s66 <= z' + z6, z'' >= 0, z = 1, z' >= 0, z6 >= 0 newline#7(z, z', z'', z6) -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0, z6 >= 0 plus(z, z') -{ 0 }-> s67 :|: s67 >= 0, s67 <= 2 * z + z', z' >= 0, z >= 0 plus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 right(z) -{ 0 }-> s63 :|: s63 >= 0, s63 <= 0 + 1, z >= 0, z = 1 right(z) -{ 0 }-> z0' :|: z >= 0, z1 >= 0, z0' >= 0, z = 1 + z0' + z1 right(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 right#1(z) -{ 0 }-> 0 :|: z >= 0 right#1(z) -{ 0 }-> 0 :|: z = 1, 0 = 0 right#1(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 0 = v0 Function symbols to be analyzed: Previous analysis results are: LCS#3: runtime: O(1) [2], size: O(1) [1] RIGHT#1: runtime: O(1) [2], size: O(1) [1] MAX#1: runtime: O(1) [1], size: O(1) [1] #CKGT: runtime: O(1) [0], size: O(1) [3] max#1: runtime: O(1) [0], size: O(n^1) [z' + z''] #ckgt: runtime: O(1) [0], size: O(1) [2] #SUCC: runtime: O(1) [0], size: O(1) [4] newline#6: runtime: O(1) [0], size: O(n^1) [1 + z + z'] #COMPARE: runtime: O(1) [0], size: O(n^1) [9 + z + z'] firstline#1: runtime: O(1) [0], size: O(n^1) [z] firstline: runtime: O(1) [0], size: O(n^1) [z] #pred: runtime: O(1) [0], size: O(n^1) [2 + z] lcs#3: runtime: O(1) [0], size: O(n^1) [z] #ABS: runtime: O(1) [1], size: O(1) [3] right#1: runtime: O(1) [0], size: O(n^1) [z] #and: runtime: O(1) [0], size: O(1) [2] #compare: runtime: O(1) [0], size: O(1) [3] #PRED: runtime: O(1) [0], size: O(1) [4] FIRSTLINE: runtime: O(n^1) [5 + 2*z], size: O(n^1) [1 + 2*z] FIRSTLINE#1: runtime: O(n^1) [4 + 2*z], size: O(n^1) [2*z] NEWLINE#6: runtime: O(1) [1], size: O(1) [0] #AND: runtime: O(1) [0], size: O(1) [4] #abs: runtime: O(1) [0], size: O(n^1) [1 + z] #succ: runtime: O(1) [0], size: O(n^1) [2 + z] #GREATER: runtime: O(1) [1], size: O(n^1) [13 + z + z'] max: runtime: O(1) [0], size: O(n^1) [z + z'] #greater: runtime: O(1) [0], size: O(1) [2] #add: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#2: runtime: O(1) [3], size: O(1) [5] RIGHT: runtime: O(1) [3], size: O(1) [5] #eq: runtime: O(1) [0], size: O(1) [2] right: runtime: O(1) [0], size: O(n^1) [z] lcs#2: runtime: O(1) [0], size: O(n^1) [z] MAX: runtime: O(1) [3], size: O(n^1) [15 + z + z'] #ADD: runtime: O(1) [0], size: O(n^1) [5*z] plus: runtime: O(1) [0], size: O(n^1) [2*z + z'] LCS#1: runtime: O(1) [4], size: O(1) [6] #EQ': runtime: O(1) [0], size: O(n^1) [11 + 5*z'] #equal: runtime: O(1) [0], size: O(1) [2] lcs#1: runtime: O(1) [0], size: O(n^1) [z] +': runtime: O(1) [1], size: O(n^1) [1 + 5*z] newline#7: runtime: O(1) [0], size: O(n^1) [2 + z' + 2*z'' + z6] #EQUAL: runtime: O(1) [1], size: O(n^1) [12 + 5*z'] NEWLINE#7: runtime: O(1) [4], size: O(n^1) [16 + z' + 5*z'' + z6] newline#5: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + z'' + z6] NEWLINE#5: runtime: O(1) [7], size: O(n^1) [29 + 5*z + z' + z6 + 5*z8] newline#4: runtime: O(1) [0], size: O(n^1) [3 + z + z' + 2*z'' + z6] NEWLINE#4: runtime: O(1) [11], size: O(n^1) [35 + z + z' + 5*z'' + 5*z8] newline#3: runtime: O(1) [0], size: O(n^1) [3 + 2*z + z' + 2*z''] NEWLINE#3: runtime: O(1) [15], size: O(n^1) [41 + z + z' + 5*z'' + 5*z7] newline#1: runtime: O(1) [0], size: EXP newline#2: runtime: O(1) [0], size: INF NEWLINE#1: runtime: O(n^1) [35 + 18*z], size: INF NEWLINE#2: runtime: O(n^1) [52 + 18*z''], size: INF NEWLINE: runtime: O(n^1) [36 + 18*z''], size: INF newline: runtime: O(1) [0], size: INF LCSTABLE#3: runtime: O(n^1) [37 + 18*z'], size: INF lcstable#3: runtime: O(1) [0], size: INF LCSTABLE#2: runtime: O(n^1) [38 + 18*z'], size: INF lcstable#2: runtime: O(1) [0], size: INF lcstable#1: runtime: O(1) [0], size: INF lcstable: runtime: O(1) [0], size: INF lcs: runtime: O(1) [0], size: INF LCSTABLE: runtime: O(n^2) [47 + 40*z + 18*z*z' + 20*z'], size: INF LCSTABLE#1: runtime: O(n^2) [178 + 80*z + 36*z*z' + 78*z'], size: INF LCS: runtime: O(n^2) [104 + 80*z + 36*z*z' + 40*z'], size: INF ---------------------------------------- (381) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (382) BOUNDS(1, n^2) ---------------------------------------- (383) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (384) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c49 #ABS(#neg(z0)) -> c50 #ABS(#pos(z0)) -> c51 #ABS(#s(z0)) -> c52 #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) #GREATER(z0, z1) -> c54(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) +'(z0, z1) -> c55(#ADD(z0, z1)) FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) FIRSTLINE#1(nil) -> c59 LCS(z0, z1) -> c60(LCS#1(lcstable(z0, z1)), LCSTABLE(z0, z1)) LCS#1(z0) -> c61(LCS#2(z0)) LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) LCS#2(nil) -> c63(#ABS(#0)) LCS#3(::(z0, z1)) -> c64 LCS#3(nil) -> c65(#ABS(#0)) LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable(z1, z2), z2, z0), LCSTABLE(z1, z2)) LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) LCSTABLE#3(nil, z0, z1) -> c71 MAX(z0, z1) -> c72(MAX#1(#greater(z0, z1), z0, z1), #GREATER(z0, z1)) MAX#1(#false, z0, z1) -> c73 MAX#1(#true, z0, z1) -> c74 NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) NEWLINE#1(nil, z0, z1) -> c77 NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline(z4, z1, z3), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) NEWLINE#2(nil, z0, z1, z2) -> c79 NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right(z0), z1, z2, z0, z3, z4), RIGHT(z0)) NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right(z2), z1, z3, z0, z4, z5), RIGHT(z2)) NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#equal(z4, z5), z1, z0, z3), z2), NEWLINE#7(#equal(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) NEWLINE#6(z0, z1) -> c83 NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) RIGHT(z0) -> c86(RIGHT#1(z0)) RIGHT#1(::(z0, z1)) -> c87 RIGHT#1(nil) -> c88(#ABS(#0)) The (relative) TRS S consists of the following rules: #ADD(#0, z0) -> c #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #AND(#false, #false) -> c5 #AND(#false, #true) -> c6 #AND(#true, #false) -> c7 #AND(#true, #true) -> c8 #CKGT(#EQ) -> c9 #CKGT(#GT) -> c10 #CKGT(#LT) -> c11 #COMPARE(#0, #0) -> c12 #COMPARE(#0, #neg(z0)) -> c13 #COMPARE(#0, #pos(z0)) -> c14 #COMPARE(#0, #s(z0)) -> c15 #COMPARE(#neg(z0), #0) -> c16 #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c18 #COMPARE(#pos(z0), #0) -> c19 #COMPARE(#pos(z0), #neg(z1)) -> c20 #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c22 #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) #EQ'(#0, #0) -> c24 #EQ'(#0, #neg(z0)) -> c25 #EQ'(#0, #pos(z0)) -> c26 #EQ'(#0, #s(z0)) -> c27 #EQ'(#neg(z0), #0) -> c28 #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) #EQ'(#neg(z0), #pos(z1)) -> c30 #EQ'(#pos(z0), #0) -> c31 #EQ'(#pos(z0), #neg(z1)) -> c32 #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) #EQ'(#s(z0), #0) -> c34 #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) #EQ'(::(z0, z1), nil) -> c38 #EQ'(nil, ::(z0, z1)) -> c39 #EQ'(nil, nil) -> c40 #PRED(#0) -> c41 #PRED(#neg(#s(z0))) -> c42 #PRED(#pos(#s(#0))) -> c43 #PRED(#pos(#s(#s(z0)))) -> c44 #SUCC(#0) -> c45 #SUCC(#neg(#s(#0))) -> c46 #SUCC(#neg(#s(#s(z0)))) -> c47 #SUCC(#pos(#s(z0))) -> c48 #add(#0, z0) -> z0 #add(#neg(#s(#0)), z0) -> #pred(z0) #add(#neg(#s(#s(z0))), z1) -> #pred(#add(#pos(#s(z0)), z1)) #add(#pos(#s(#0)), z0) -> #succ(z0) #add(#pos(#s(#s(z0))), z1) -> #succ(#add(#pos(#s(z0)), z1)) #and(#false, #false) -> #false #and(#false, #true) -> #false #and(#true, #false) -> #false #and(#true, #true) -> #true #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #eq(#0, #0) -> #true #eq(#0, #neg(z0)) -> #false #eq(#0, #pos(z0)) -> #false #eq(#0, #s(z0)) -> #false #eq(#neg(z0), #0) -> #false #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) #eq(#neg(z0), #pos(z1)) -> #false #eq(#pos(z0), #0) -> #false #eq(#pos(z0), #neg(z1)) -> #false #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) #eq(#s(z0), #0) -> #false #eq(#s(z0), #s(z1)) -> #eq(z0, z1) #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) #eq(::(z0, z1), nil) -> #false #eq(nil, ::(z0, z1)) -> #false #eq(nil, nil) -> #true #pred(#0) -> #neg(#s(#0)) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0))) -> #0 #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0) -> #pos(#s(#0)) #succ(#neg(#s(#0))) -> #0 #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #equal(z0, z1) -> #eq(z0, z1) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) +(z0, z1) -> #add(z0, z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) firstline#1(nil) -> nil lcs(z0, z1) -> lcs#1(lcstable(z0, z1)) lcs#1(z0) -> lcs#2(z0) lcs#2(::(z0, z1)) -> lcs#3(z0) lcs#2(nil) -> #abs(#0) lcs#3(::(z0, z1)) -> z0 lcs#3(nil) -> #abs(#0) lcstable(z0, z1) -> lcstable#1(z0, z1) lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable(z1, z2), z2, z0) lcstable#1(nil, z0) -> ::(firstline(z0), nil) lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) lcstable#3(nil, z0, z1) -> nil max(z0, z1) -> max#1(#greater(z0, z1), z0, z1) max#1(#false, z0, z1) -> z1 max#1(#true, z0, z1) -> z0 newline(z0, z1, z2) -> newline#1(z2, z1, z0) newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) newline#1(nil, z0, z1) -> nil newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline(z4, z1, z3), z0, z1, z2, z4) newline#2(nil, z0, z1, z2) -> nil newline#3(z0, z1, z2, z3, z4) -> newline#4(right(z0), z1, z2, z0, z3, z4) newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right(z2), z1, z3, z0, z4, z5) newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#equal(z4, z5), z1, z0, z3), z2) newline#6(z0, z1) -> ::(z0, z1) newline#7(#false, z0, z1, z2) -> max(z0, z2) newline#7(#true, z0, z1, z2) -> +(z1, #pos(#s(#0))) right(z0) -> right#1(z0) right#1(::(z0, z1)) -> z0 right#1(nil) -> #abs(#0) Rewrite Strategy: INNERMOST ---------------------------------------- (385) DecreasingLoopProof (LOWER BOUND(ID)) The following loop(s) give(s) rise to the lower bound Omega(n^1): The rewrite sequence LCSTABLE(::(z01_2, z12_2), z1) ->^+ c66(c67(LCSTABLE#2(lcstable(z12_2, z1), z1, z01_2), LCSTABLE(z12_2, z1))) gives rise to a decreasing loop by considering the right hand sides subterm at position [0,1]. The pumping substitution is [z12_2 / ::(z01_2, z12_2)]. The result substitution is [ ]. ---------------------------------------- (386) Complex Obligation (BEST) ---------------------------------------- (387) Obligation: Proved the lower bound n^1 for the following obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c49 #ABS(#neg(z0)) -> c50 #ABS(#pos(z0)) -> c51 #ABS(#s(z0)) -> c52 #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) #GREATER(z0, z1) -> c54(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) +'(z0, z1) -> c55(#ADD(z0, z1)) FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) FIRSTLINE#1(nil) -> c59 LCS(z0, z1) -> c60(LCS#1(lcstable(z0, z1)), LCSTABLE(z0, z1)) LCS#1(z0) -> c61(LCS#2(z0)) LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) LCS#2(nil) -> c63(#ABS(#0)) LCS#3(::(z0, z1)) -> c64 LCS#3(nil) -> c65(#ABS(#0)) LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable(z1, z2), z2, z0), LCSTABLE(z1, z2)) LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) LCSTABLE#3(nil, z0, z1) -> c71 MAX(z0, z1) -> c72(MAX#1(#greater(z0, z1), z0, z1), #GREATER(z0, z1)) MAX#1(#false, z0, z1) -> c73 MAX#1(#true, z0, z1) -> c74 NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) NEWLINE#1(nil, z0, z1) -> c77 NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline(z4, z1, z3), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) NEWLINE#2(nil, z0, z1, z2) -> c79 NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right(z0), z1, z2, z0, z3, z4), RIGHT(z0)) NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right(z2), z1, z3, z0, z4, z5), RIGHT(z2)) NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#equal(z4, z5), z1, z0, z3), z2), NEWLINE#7(#equal(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) NEWLINE#6(z0, z1) -> c83 NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) RIGHT(z0) -> c86(RIGHT#1(z0)) RIGHT#1(::(z0, z1)) -> c87 RIGHT#1(nil) -> c88(#ABS(#0)) The (relative) TRS S consists of the following rules: #ADD(#0, z0) -> c #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #AND(#false, #false) -> c5 #AND(#false, #true) -> c6 #AND(#true, #false) -> c7 #AND(#true, #true) -> c8 #CKGT(#EQ) -> c9 #CKGT(#GT) -> c10 #CKGT(#LT) -> c11 #COMPARE(#0, #0) -> c12 #COMPARE(#0, #neg(z0)) -> c13 #COMPARE(#0, #pos(z0)) -> c14 #COMPARE(#0, #s(z0)) -> c15 #COMPARE(#neg(z0), #0) -> c16 #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c18 #COMPARE(#pos(z0), #0) -> c19 #COMPARE(#pos(z0), #neg(z1)) -> c20 #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c22 #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) #EQ'(#0, #0) -> c24 #EQ'(#0, #neg(z0)) -> c25 #EQ'(#0, #pos(z0)) -> c26 #EQ'(#0, #s(z0)) -> c27 #EQ'(#neg(z0), #0) -> c28 #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) #EQ'(#neg(z0), #pos(z1)) -> c30 #EQ'(#pos(z0), #0) -> c31 #EQ'(#pos(z0), #neg(z1)) -> c32 #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) #EQ'(#s(z0), #0) -> c34 #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) #EQ'(::(z0, z1), nil) -> c38 #EQ'(nil, ::(z0, z1)) -> c39 #EQ'(nil, nil) -> c40 #PRED(#0) -> c41 #PRED(#neg(#s(z0))) -> c42 #PRED(#pos(#s(#0))) -> c43 #PRED(#pos(#s(#s(z0)))) -> c44 #SUCC(#0) -> c45 #SUCC(#neg(#s(#0))) -> c46 #SUCC(#neg(#s(#s(z0)))) -> c47 #SUCC(#pos(#s(z0))) -> c48 #add(#0, z0) -> z0 #add(#neg(#s(#0)), z0) -> #pred(z0) #add(#neg(#s(#s(z0))), z1) -> #pred(#add(#pos(#s(z0)), z1)) #add(#pos(#s(#0)), z0) -> #succ(z0) #add(#pos(#s(#s(z0))), z1) -> #succ(#add(#pos(#s(z0)), z1)) #and(#false, #false) -> #false #and(#false, #true) -> #false #and(#true, #false) -> #false #and(#true, #true) -> #true #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #eq(#0, #0) -> #true #eq(#0, #neg(z0)) -> #false #eq(#0, #pos(z0)) -> #false #eq(#0, #s(z0)) -> #false #eq(#neg(z0), #0) -> #false #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) #eq(#neg(z0), #pos(z1)) -> #false #eq(#pos(z0), #0) -> #false #eq(#pos(z0), #neg(z1)) -> #false #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) #eq(#s(z0), #0) -> #false #eq(#s(z0), #s(z1)) -> #eq(z0, z1) #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) #eq(::(z0, z1), nil) -> #false #eq(nil, ::(z0, z1)) -> #false #eq(nil, nil) -> #true #pred(#0) -> #neg(#s(#0)) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0))) -> #0 #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0) -> #pos(#s(#0)) #succ(#neg(#s(#0))) -> #0 #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #equal(z0, z1) -> #eq(z0, z1) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) +(z0, z1) -> #add(z0, z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) firstline#1(nil) -> nil lcs(z0, z1) -> lcs#1(lcstable(z0, z1)) lcs#1(z0) -> lcs#2(z0) lcs#2(::(z0, z1)) -> lcs#3(z0) lcs#2(nil) -> #abs(#0) lcs#3(::(z0, z1)) -> z0 lcs#3(nil) -> #abs(#0) lcstable(z0, z1) -> lcstable#1(z0, z1) lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable(z1, z2), z2, z0) lcstable#1(nil, z0) -> ::(firstline(z0), nil) lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) lcstable#3(nil, z0, z1) -> nil max(z0, z1) -> max#1(#greater(z0, z1), z0, z1) max#1(#false, z0, z1) -> z1 max#1(#true, z0, z1) -> z0 newline(z0, z1, z2) -> newline#1(z2, z1, z0) newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) newline#1(nil, z0, z1) -> nil newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline(z4, z1, z3), z0, z1, z2, z4) newline#2(nil, z0, z1, z2) -> nil newline#3(z0, z1, z2, z3, z4) -> newline#4(right(z0), z1, z2, z0, z3, z4) newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right(z2), z1, z3, z0, z4, z5) newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#equal(z4, z5), z1, z0, z3), z2) newline#6(z0, z1) -> ::(z0, z1) newline#7(#false, z0, z1, z2) -> max(z0, z2) newline#7(#true, z0, z1, z2) -> +(z1, #pos(#s(#0))) right(z0) -> right#1(z0) right#1(::(z0, z1)) -> z0 right#1(nil) -> #abs(#0) Rewrite Strategy: INNERMOST ---------------------------------------- (388) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (389) BOUNDS(n^1, INF) ---------------------------------------- (390) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^2). The TRS R consists of the following rules: #ABS(#0) -> c49 #ABS(#neg(z0)) -> c50 #ABS(#pos(z0)) -> c51 #ABS(#s(z0)) -> c52 #EQUAL(z0, z1) -> c53(#EQ'(z0, z1)) #GREATER(z0, z1) -> c54(#CKGT(#compare(z0, z1)), #COMPARE(z0, z1)) +'(z0, z1) -> c55(#ADD(z0, z1)) FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) FIRSTLINE#1(::(z0, z1)) -> c57(#ABS(#0)) FIRSTLINE#1(::(z0, z1)) -> c58(FIRSTLINE(z1)) FIRSTLINE#1(nil) -> c59 LCS(z0, z1) -> c60(LCS#1(lcstable(z0, z1)), LCSTABLE(z0, z1)) LCS#1(z0) -> c61(LCS#2(z0)) LCS#2(::(z0, z1)) -> c62(LCS#3(z0)) LCS#2(nil) -> c63(#ABS(#0)) LCS#3(::(z0, z1)) -> c64 LCS#3(nil) -> c65(#ABS(#0)) LCSTABLE(z0, z1) -> c66(LCSTABLE#1(z0, z1)) LCSTABLE#1(::(z0, z1), z2) -> c67(LCSTABLE#2(lcstable(z1, z2), z2, z0), LCSTABLE(z1, z2)) LCSTABLE#1(nil, z0) -> c68(FIRSTLINE(z0)) LCSTABLE#2(z0, z1, z2) -> c69(LCSTABLE#3(z0, z1, z2)) LCSTABLE#3(::(z0, z1), z2, z3) -> c70(NEWLINE(z3, z0, z2)) LCSTABLE#3(nil, z0, z1) -> c71 MAX(z0, z1) -> c72(MAX#1(#greater(z0, z1), z0, z1), #GREATER(z0, z1)) MAX#1(#false, z0, z1) -> c73 MAX#1(#true, z0, z1) -> c74 NEWLINE(z0, z1, z2) -> c75(NEWLINE#1(z2, z1, z0)) NEWLINE#1(::(z0, z1), z2, z3) -> c76(NEWLINE#2(z2, z0, z1, z3)) NEWLINE#1(nil, z0, z1) -> c77 NEWLINE#2(::(z0, z1), z2, z3, z4) -> c78(NEWLINE#3(newline(z4, z1, z3), z0, z1, z2, z4), NEWLINE(z4, z1, z3)) NEWLINE#2(nil, z0, z1, z2) -> c79 NEWLINE#3(z0, z1, z2, z3, z4) -> c80(NEWLINE#4(right(z0), z1, z2, z0, z3, z4), RIGHT(z0)) NEWLINE#4(z0, z1, z2, z3, z4, z5) -> c81(NEWLINE#5(right(z2), z1, z3, z0, z4, z5), RIGHT(z2)) NEWLINE#5(z0, z1, z2, z3, z4, z5) -> c82(NEWLINE#6(newline#7(#equal(z4, z5), z1, z0, z3), z2), NEWLINE#7(#equal(z4, z5), z1, z0, z3), #EQUAL(z4, z5)) NEWLINE#6(z0, z1) -> c83 NEWLINE#7(#false, z0, z1, z2) -> c84(MAX(z0, z2)) NEWLINE#7(#true, z0, z1, z2) -> c85(+'(z1, #pos(#s(#0)))) RIGHT(z0) -> c86(RIGHT#1(z0)) RIGHT#1(::(z0, z1)) -> c87 RIGHT#1(nil) -> c88(#ABS(#0)) The (relative) TRS S consists of the following rules: #ADD(#0, z0) -> c #ADD(#neg(#s(#0)), z0) -> c1(#PRED(z0)) #ADD(#neg(#s(#s(z0))), z1) -> c2(#PRED(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #ADD(#pos(#s(#0)), z0) -> c3(#SUCC(z0)) #ADD(#pos(#s(#s(z0))), z1) -> c4(#SUCC(#add(#pos(#s(z0)), z1)), #ADD(#pos(#s(z0)), z1)) #AND(#false, #false) -> c5 #AND(#false, #true) -> c6 #AND(#true, #false) -> c7 #AND(#true, #true) -> c8 #CKGT(#EQ) -> c9 #CKGT(#GT) -> c10 #CKGT(#LT) -> c11 #COMPARE(#0, #0) -> c12 #COMPARE(#0, #neg(z0)) -> c13 #COMPARE(#0, #pos(z0)) -> c14 #COMPARE(#0, #s(z0)) -> c15 #COMPARE(#neg(z0), #0) -> c16 #COMPARE(#neg(z0), #neg(z1)) -> c17(#COMPARE(z1, z0)) #COMPARE(#neg(z0), #pos(z1)) -> c18 #COMPARE(#pos(z0), #0) -> c19 #COMPARE(#pos(z0), #neg(z1)) -> c20 #COMPARE(#pos(z0), #pos(z1)) -> c21(#COMPARE(z0, z1)) #COMPARE(#s(z0), #0) -> c22 #COMPARE(#s(z0), #s(z1)) -> c23(#COMPARE(z0, z1)) #EQ'(#0, #0) -> c24 #EQ'(#0, #neg(z0)) -> c25 #EQ'(#0, #pos(z0)) -> c26 #EQ'(#0, #s(z0)) -> c27 #EQ'(#neg(z0), #0) -> c28 #EQ'(#neg(z0), #neg(z1)) -> c29(#EQ'(z0, z1)) #EQ'(#neg(z0), #pos(z1)) -> c30 #EQ'(#pos(z0), #0) -> c31 #EQ'(#pos(z0), #neg(z1)) -> c32 #EQ'(#pos(z0), #pos(z1)) -> c33(#EQ'(z0, z1)) #EQ'(#s(z0), #0) -> c34 #EQ'(#s(z0), #s(z1)) -> c35(#EQ'(z0, z1)) #EQ'(::(z0, z1), ::(z2, z3)) -> c36(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z0, z2)) #EQ'(::(z0, z1), ::(z2, z3)) -> c37(#AND(#eq(z0, z2), #eq(z1, z3)), #EQ'(z1, z3)) #EQ'(::(z0, z1), nil) -> c38 #EQ'(nil, ::(z0, z1)) -> c39 #EQ'(nil, nil) -> c40 #PRED(#0) -> c41 #PRED(#neg(#s(z0))) -> c42 #PRED(#pos(#s(#0))) -> c43 #PRED(#pos(#s(#s(z0)))) -> c44 #SUCC(#0) -> c45 #SUCC(#neg(#s(#0))) -> c46 #SUCC(#neg(#s(#s(z0)))) -> c47 #SUCC(#pos(#s(z0))) -> c48 #add(#0, z0) -> z0 #add(#neg(#s(#0)), z0) -> #pred(z0) #add(#neg(#s(#s(z0))), z1) -> #pred(#add(#pos(#s(z0)), z1)) #add(#pos(#s(#0)), z0) -> #succ(z0) #add(#pos(#s(#s(z0))), z1) -> #succ(#add(#pos(#s(z0)), z1)) #and(#false, #false) -> #false #and(#false, #true) -> #false #and(#true, #false) -> #false #and(#true, #true) -> #true #ckgt(#EQ) -> #false #ckgt(#GT) -> #true #ckgt(#LT) -> #false #compare(#0, #0) -> #EQ #compare(#0, #neg(z0)) -> #GT #compare(#0, #pos(z0)) -> #LT #compare(#0, #s(z0)) -> #LT #compare(#neg(z0), #0) -> #LT #compare(#neg(z0), #neg(z1)) -> #compare(z1, z0) #compare(#neg(z0), #pos(z1)) -> #LT #compare(#pos(z0), #0) -> #GT #compare(#pos(z0), #neg(z1)) -> #GT #compare(#pos(z0), #pos(z1)) -> #compare(z0, z1) #compare(#s(z0), #0) -> #GT #compare(#s(z0), #s(z1)) -> #compare(z0, z1) #eq(#0, #0) -> #true #eq(#0, #neg(z0)) -> #false #eq(#0, #pos(z0)) -> #false #eq(#0, #s(z0)) -> #false #eq(#neg(z0), #0) -> #false #eq(#neg(z0), #neg(z1)) -> #eq(z0, z1) #eq(#neg(z0), #pos(z1)) -> #false #eq(#pos(z0), #0) -> #false #eq(#pos(z0), #neg(z1)) -> #false #eq(#pos(z0), #pos(z1)) -> #eq(z0, z1) #eq(#s(z0), #0) -> #false #eq(#s(z0), #s(z1)) -> #eq(z0, z1) #eq(::(z0, z1), ::(z2, z3)) -> #and(#eq(z0, z2), #eq(z1, z3)) #eq(::(z0, z1), nil) -> #false #eq(nil, ::(z0, z1)) -> #false #eq(nil, nil) -> #true #pred(#0) -> #neg(#s(#0)) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0))) -> #0 #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0) -> #pos(#s(#0)) #succ(#neg(#s(#0))) -> #0 #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) #abs(#0) -> #0 #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #equal(z0, z1) -> #eq(z0, z1) #greater(z0, z1) -> #ckgt(#compare(z0, z1)) +(z0, z1) -> #add(z0, z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0, z1)) -> ::(#abs(#0), firstline(z1)) firstline#1(nil) -> nil lcs(z0, z1) -> lcs#1(lcstable(z0, z1)) lcs#1(z0) -> lcs#2(z0) lcs#2(::(z0, z1)) -> lcs#3(z0) lcs#2(nil) -> #abs(#0) lcs#3(::(z0, z1)) -> z0 lcs#3(nil) -> #abs(#0) lcstable(z0, z1) -> lcstable#1(z0, z1) lcstable#1(::(z0, z1), z2) -> lcstable#2(lcstable(z1, z2), z2, z0) lcstable#1(nil, z0) -> ::(firstline(z0), nil) lcstable#2(z0, z1, z2) -> lcstable#3(z0, z1, z2) lcstable#3(::(z0, z1), z2, z3) -> ::(newline(z3, z0, z2), ::(z0, z1)) lcstable#3(nil, z0, z1) -> nil max(z0, z1) -> max#1(#greater(z0, z1), z0, z1) max#1(#false, z0, z1) -> z1 max#1(#true, z0, z1) -> z0 newline(z0, z1, z2) -> newline#1(z2, z1, z0) newline#1(::(z0, z1), z2, z3) -> newline#2(z2, z0, z1, z3) newline#1(nil, z0, z1) -> nil newline#2(::(z0, z1), z2, z3, z4) -> newline#3(newline(z4, z1, z3), z0, z1, z2, z4) newline#2(nil, z0, z1, z2) -> nil newline#3(z0, z1, z2, z3, z4) -> newline#4(right(z0), z1, z2, z0, z3, z4) newline#4(z0, z1, z2, z3, z4, z5) -> newline#5(right(z2), z1, z3, z0, z4, z5) newline#5(z0, z1, z2, z3, z4, z5) -> newline#6(newline#7(#equal(z4, z5), z1, z0, z3), z2) newline#6(z0, z1) -> ::(z0, z1) newline#7(#false, z0, z1, z2) -> max(z0, z2) newline#7(#true, z0, z1, z2) -> +(z1, #pos(#s(#0))) right(z0) -> right#1(z0) right#1(::(z0, z1)) -> z0 right#1(nil) -> #abs(#0) Rewrite Strategy: INNERMOST