/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.itrs /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.itrs # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Termination of the given ITRS could be proven: (0) ITRS (1) ITRStoIDPProof [EQUIVALENT, 0 ms] (2) IDP (3) UsableRulesProof [EQUIVALENT, 0 ms] (4) IDP (5) IDependencyGraphProof [EQUIVALENT, 0 ms] (6) IDP (7) IDPNonInfProof [SOUND, 1689 ms] (8) IDP (9) IDependencyGraphProof [EQUIVALENT, 0 ms] (10) IDP (11) IDPNonInfProof [SOUND, 716 ms] (12) IDP (13) IDependencyGraphProof [EQUIVALENT, 0 ms] (14) IDP (15) IDPNonInfProof [SOUND, 417 ms] (16) IDP (17) IDependencyGraphProof [EQUIVALENT, 0 ms] (18) IDP (19) IDPNonInfProof [SOUND, 63 ms] (20) IDP (21) IDependencyGraphProof [EQUIVALENT, 0 ms] (22) TRUE ---------------------------------------- (0) Obligation: ITRS problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The TRS R consists of the following rules: eval_1(i, j, l, r, n) -> Cond_eval_1(l >= 2, i, j, l, r, n) Cond_eval_1(TRUE, i, j, l, r, n) -> eval_2(i, j, l - 1, r, n) eval_1(i, j, l, r, n) -> Cond_eval_11(2 > l, i, j, l, r, n) Cond_eval_11(TRUE, i, j, l, r, n) -> eval_2(i, j, l, r - 1, n) eval_2(i, j, l, r, n) -> Cond_eval_2(r >= 2, i, j, l, r, n) Cond_eval_2(TRUE, i, j, l, r, n) -> eval_3(l, 2 * l, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_3(r >= j && r - 1 >= j, i, j, l, r, n) Cond_eval_3(TRUE, i, j, l, r, n) -> eval_4(i, j, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_31(r >= j && r - 1 >= j, i, j, l, r, n) Cond_eval_31(TRUE, i, j, l, r, n) -> eval_4(i, j + 1, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_32(r >= j && r - 1 >= j && j >= 1, i, j, l, r, n) Cond_eval_32(TRUE, i, j, l, r, n) -> eval_3(j, 2 * j, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_33(r >= j && r - 1 >= j && j >= 1, i, j, l, r, n) Cond_eval_33(TRUE, i, j, l, r, n) -> eval_3(j + 1, 2 * j + 2, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_34(r >= j && j > r - 1, i, j, l, r, n) Cond_eval_34(TRUE, i, j, l, r, n) -> eval_4(i, j, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_35(r >= j && j > r - 1 && j >= 1, i, j, l, r, n) Cond_eval_35(TRUE, i, j, l, r, n) -> eval_3(j, 2 * j, l, r, n) eval_4(i, j, l, r, n) -> Cond_eval_4(l >= 2 && l >= 1 && r >= 2, i, j, l, r, n) Cond_eval_4(TRUE, i, j, l, r, n) -> eval_2(i, j, l - 1, r, n) eval_4(i, j, l, r, n) -> Cond_eval_41(2 > l && l >= 1 && r >= 2, i, j, l, r, n) Cond_eval_41(TRUE, i, j, l, r, n) -> eval_2(i, j, l, r - 1, n) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (1) ITRStoIDPProof (EQUIVALENT) Added dependency pairs ---------------------------------------- (2) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Integer, Boolean The ITRS R consists of the following rules: eval_1(i, j, l, r, n) -> Cond_eval_1(l >= 2, i, j, l, r, n) Cond_eval_1(TRUE, i, j, l, r, n) -> eval_2(i, j, l - 1, r, n) eval_1(i, j, l, r, n) -> Cond_eval_11(2 > l, i, j, l, r, n) Cond_eval_11(TRUE, i, j, l, r, n) -> eval_2(i, j, l, r - 1, n) eval_2(i, j, l, r, n) -> Cond_eval_2(r >= 2, i, j, l, r, n) Cond_eval_2(TRUE, i, j, l, r, n) -> eval_3(l, 2 * l, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_3(r >= j && r - 1 >= j, i, j, l, r, n) Cond_eval_3(TRUE, i, j, l, r, n) -> eval_4(i, j, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_31(r >= j && r - 1 >= j, i, j, l, r, n) Cond_eval_31(TRUE, i, j, l, r, n) -> eval_4(i, j + 1, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_32(r >= j && r - 1 >= j && j >= 1, i, j, l, r, n) Cond_eval_32(TRUE, i, j, l, r, n) -> eval_3(j, 2 * j, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_33(r >= j && r - 1 >= j && j >= 1, i, j, l, r, n) Cond_eval_33(TRUE, i, j, l, r, n) -> eval_3(j + 1, 2 * j + 2, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_34(r >= j && j > r - 1, i, j, l, r, n) Cond_eval_34(TRUE, i, j, l, r, n) -> eval_4(i, j, l, r, n) eval_3(i, j, l, r, n) -> Cond_eval_35(r >= j && j > r - 1 && j >= 1, i, j, l, r, n) Cond_eval_35(TRUE, i, j, l, r, n) -> eval_3(j, 2 * j, l, r, n) eval_4(i, j, l, r, n) -> Cond_eval_4(l >= 2 && l >= 1 && r >= 2, i, j, l, r, n) Cond_eval_4(TRUE, i, j, l, r, n) -> eval_2(i, j, l - 1, r, n) eval_4(i, j, l, r, n) -> Cond_eval_41(2 > l && l >= 1 && r >= 2, i, j, l, r, n) Cond_eval_41(TRUE, i, j, l, r, n) -> eval_2(i, j, l, r - 1, n) The integer pair graph contains the following rules and edges: (0): EVAL_1(i[0], j[0], l[0], r[0], n[0]) -> COND_EVAL_1(l[0] >= 2, i[0], j[0], l[0], r[0], n[0]) (1): COND_EVAL_1(TRUE, i[1], j[1], l[1], r[1], n[1]) -> EVAL_2(i[1], j[1], l[1] - 1, r[1], n[1]) (2): EVAL_1(i[2], j[2], l[2], r[2], n[2]) -> COND_EVAL_11(2 > l[2], i[2], j[2], l[2], r[2], n[2]) (3): COND_EVAL_11(TRUE, i[3], j[3], l[3], r[3], n[3]) -> EVAL_2(i[3], j[3], l[3], r[3] - 1, n[3]) (4): EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(r[4] >= 2, i[4], j[4], l[4], r[4], n[4]) (5): COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], 2 * l[5], l[5], r[5], n[5]) (6): EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(r[6] >= j[6] && r[6] - 1 >= j[6], i[6], j[6], l[6], r[6], n[6]) (7): COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) (8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(r[8] >= j[8] && r[8] - 1 >= j[8], i[8], j[8], l[8], r[8], n[8]) (9): COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], j[9] + 1, l[9], r[9], n[9]) (10): EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1, i[10], j[10], l[10], r[10], n[10]) (11): COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], 2 * j[11], l[11], r[11], n[11]) (12): EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1, i[12], j[12], l[12], r[12], n[12]) (13): COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(j[13] + 1, 2 * j[13] + 2, l[13], r[13], n[13]) (14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(r[14] >= j[14] && j[14] > r[14] - 1, i[14], j[14], l[14], r[14], n[14]) (15): COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) (17): COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], 2 * j[17], l[17], r[17], n[17]) (18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(l[18] >= 2 && l[18] >= 1 && r[18] >= 2, i[18], j[18], l[18], r[18], n[18]) (19): COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19]) -> EVAL_2(i[19], j[19], l[19] - 1, r[19], n[19]) (20): EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(2 > l[20] && l[20] >= 1 && r[20] >= 2, i[20], j[20], l[20], r[20], n[20]) (21): COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], r[21] - 1, n[21]) (0) -> (1), if (l[0] >= 2 & i[0] ->^* i[1] & j[0] ->^* j[1] & l[0] ->^* l[1] & r[0] ->^* r[1] & n[0] ->^* n[1]) (1) -> (4), if (i[1] ->^* i[4] & j[1] ->^* j[4] & l[1] - 1 ->^* l[4] & r[1] ->^* r[4] & n[1] ->^* n[4]) (2) -> (3), if (2 > l[2] & i[2] ->^* i[3] & j[2] ->^* j[3] & l[2] ->^* l[3] & r[2] ->^* r[3] & n[2] ->^* n[3]) (3) -> (4), if (i[3] ->^* i[4] & j[3] ->^* j[4] & l[3] ->^* l[4] & r[3] - 1 ->^* r[4] & n[3] ->^* n[4]) (4) -> (5), if (r[4] >= 2 & i[4] ->^* i[5] & j[4] ->^* j[5] & l[4] ->^* l[5] & r[4] ->^* r[5] & n[4] ->^* n[5]) (5) -> (6), if (l[5] ->^* i[6] & 2 * l[5] ->^* j[6] & l[5] ->^* l[6] & r[5] ->^* r[6] & n[5] ->^* n[6]) (5) -> (8), if (l[5] ->^* i[8] & 2 * l[5] ->^* j[8] & l[5] ->^* l[8] & r[5] ->^* r[8] & n[5] ->^* n[8]) (5) -> (10), if (l[5] ->^* i[10] & 2 * l[5] ->^* j[10] & l[5] ->^* l[10] & r[5] ->^* r[10] & n[5] ->^* n[10]) (5) -> (12), if (l[5] ->^* i[12] & 2 * l[5] ->^* j[12] & l[5] ->^* l[12] & r[5] ->^* r[12] & n[5] ->^* n[12]) (5) -> (14), if (l[5] ->^* i[14] & 2 * l[5] ->^* j[14] & l[5] ->^* l[14] & r[5] ->^* r[14] & n[5] ->^* n[14]) (5) -> (16), if (l[5] ->^* i[16] & 2 * l[5] ->^* j[16] & l[5] ->^* l[16] & r[5] ->^* r[16] & n[5] ->^* n[16]) (6) -> (7), if (r[6] >= j[6] && r[6] - 1 >= j[6] & i[6] ->^* i[7] & j[6] ->^* j[7] & l[6] ->^* l[7] & r[6] ->^* r[7] & n[6] ->^* n[7]) (7) -> (18), if (i[7] ->^* i[18] & j[7] ->^* j[18] & l[7] ->^* l[18] & r[7] ->^* r[18] & n[7] ->^* n[18]) (7) -> (20), if (i[7] ->^* i[20] & j[7] ->^* j[20] & l[7] ->^* l[20] & r[7] ->^* r[20] & n[7] ->^* n[20]) (8) -> (9), if (r[8] >= j[8] && r[8] - 1 >= j[8] & i[8] ->^* i[9] & j[8] ->^* j[9] & l[8] ->^* l[9] & r[8] ->^* r[9] & n[8] ->^* n[9]) (9) -> (18), if (i[9] ->^* i[18] & j[9] + 1 ->^* j[18] & l[9] ->^* l[18] & r[9] ->^* r[18] & n[9] ->^* n[18]) (9) -> (20), if (i[9] ->^* i[20] & j[9] + 1 ->^* j[20] & l[9] ->^* l[20] & r[9] ->^* r[20] & n[9] ->^* n[20]) (10) -> (11), if (r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1 & i[10] ->^* i[11] & j[10] ->^* j[11] & l[10] ->^* l[11] & r[10] ->^* r[11] & n[10] ->^* n[11]) (11) -> (6), if (j[11] ->^* i[6] & 2 * j[11] ->^* j[6] & l[11] ->^* l[6] & r[11] ->^* r[6] & n[11] ->^* n[6]) (11) -> (8), if (j[11] ->^* i[8] & 2 * j[11] ->^* j[8] & l[11] ->^* l[8] & r[11] ->^* r[8] & n[11] ->^* n[8]) (11) -> (10), if (j[11] ->^* i[10] & 2 * j[11] ->^* j[10] & l[11] ->^* l[10] & r[11] ->^* r[10] & n[11] ->^* n[10]) (11) -> (12), if (j[11] ->^* i[12] & 2 * j[11] ->^* j[12] & l[11] ->^* l[12] & r[11] ->^* r[12] & n[11] ->^* n[12]) (11) -> (14), if (j[11] ->^* i[14] & 2 * j[11] ->^* j[14] & l[11] ->^* l[14] & r[11] ->^* r[14] & n[11] ->^* n[14]) (11) -> (16), if (j[11] ->^* i[16] & 2 * j[11] ->^* j[16] & l[11] ->^* l[16] & r[11] ->^* r[16] & n[11] ->^* n[16]) (12) -> (13), if (r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1 & i[12] ->^* i[13] & j[12] ->^* j[13] & l[12] ->^* l[13] & r[12] ->^* r[13] & n[12] ->^* n[13]) (13) -> (6), if (j[13] + 1 ->^* i[6] & 2 * j[13] + 2 ->^* j[6] & l[13] ->^* l[6] & r[13] ->^* r[6] & n[13] ->^* n[6]) (13) -> (8), if (j[13] + 1 ->^* i[8] & 2 * j[13] + 2 ->^* j[8] & l[13] ->^* l[8] & r[13] ->^* r[8] & n[13] ->^* n[8]) (13) -> (10), if (j[13] + 1 ->^* i[10] & 2 * j[13] + 2 ->^* j[10] & l[13] ->^* l[10] & r[13] ->^* r[10] & n[13] ->^* n[10]) (13) -> (12), if (j[13] + 1 ->^* i[12] & 2 * j[13] + 2 ->^* j[12] & l[13] ->^* l[12] & r[13] ->^* r[12] & n[13] ->^* n[12]) (13) -> (14), if (j[13] + 1 ->^* i[14] & 2 * j[13] + 2 ->^* j[14] & l[13] ->^* l[14] & r[13] ->^* r[14] & n[13] ->^* n[14]) (13) -> (16), if (j[13] + 1 ->^* i[16] & 2 * j[13] + 2 ->^* j[16] & l[13] ->^* l[16] & r[13] ->^* r[16] & n[13] ->^* n[16]) (14) -> (15), if (r[14] >= j[14] && j[14] > r[14] - 1 & i[14] ->^* i[15] & j[14] ->^* j[15] & l[14] ->^* l[15] & r[14] ->^* r[15] & n[14] ->^* n[15]) (15) -> (18), if (i[15] ->^* i[18] & j[15] ->^* j[18] & l[15] ->^* l[18] & r[15] ->^* r[18] & n[15] ->^* n[18]) (15) -> (20), if (i[15] ->^* i[20] & j[15] ->^* j[20] & l[15] ->^* l[20] & r[15] ->^* r[20] & n[15] ->^* n[20]) (16) -> (17), if (r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1 & i[16] ->^* i[17] & j[16] ->^* j[17] & l[16] ->^* l[17] & r[16] ->^* r[17] & n[16] ->^* n[17]) (17) -> (6), if (j[17] ->^* i[6] & 2 * j[17] ->^* j[6] & l[17] ->^* l[6] & r[17] ->^* r[6] & n[17] ->^* n[6]) (17) -> (8), if (j[17] ->^* i[8] & 2 * j[17] ->^* j[8] & l[17] ->^* l[8] & r[17] ->^* r[8] & n[17] ->^* n[8]) (17) -> (10), if (j[17] ->^* i[10] & 2 * j[17] ->^* j[10] & l[17] ->^* l[10] & r[17] ->^* r[10] & n[17] ->^* n[10]) (17) -> (12), if (j[17] ->^* i[12] & 2 * j[17] ->^* j[12] & l[17] ->^* l[12] & r[17] ->^* r[12] & n[17] ->^* n[12]) (17) -> (14), if (j[17] ->^* i[14] & 2 * j[17] ->^* j[14] & l[17] ->^* l[14] & r[17] ->^* r[14] & n[17] ->^* n[14]) (17) -> (16), if (j[17] ->^* i[16] & 2 * j[17] ->^* j[16] & l[17] ->^* l[16] & r[17] ->^* r[16] & n[17] ->^* n[16]) (18) -> (19), if (l[18] >= 2 && l[18] >= 1 && r[18] >= 2 & i[18] ->^* i[19] & j[18] ->^* j[19] & l[18] ->^* l[19] & r[18] ->^* r[19] & n[18] ->^* n[19]) (19) -> (4), if (i[19] ->^* i[4] & j[19] ->^* j[4] & l[19] - 1 ->^* l[4] & r[19] ->^* r[4] & n[19] ->^* n[4]) (20) -> (21), if (2 > l[20] && l[20] >= 1 && r[20] >= 2 & i[20] ->^* i[21] & j[20] ->^* j[21] & l[20] ->^* l[21] & r[20] ->^* r[21] & n[20] ->^* n[21]) (21) -> (4), if (i[21] ->^* i[4] & j[21] ->^* j[4] & l[21] ->^* l[4] & r[21] - 1 ->^* r[4] & n[21] ->^* n[4]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (3) UsableRulesProof (EQUIVALENT) As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (4) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Integer, Boolean R is empty. The integer pair graph contains the following rules and edges: (0): EVAL_1(i[0], j[0], l[0], r[0], n[0]) -> COND_EVAL_1(l[0] >= 2, i[0], j[0], l[0], r[0], n[0]) (1): COND_EVAL_1(TRUE, i[1], j[1], l[1], r[1], n[1]) -> EVAL_2(i[1], j[1], l[1] - 1, r[1], n[1]) (2): EVAL_1(i[2], j[2], l[2], r[2], n[2]) -> COND_EVAL_11(2 > l[2], i[2], j[2], l[2], r[2], n[2]) (3): COND_EVAL_11(TRUE, i[3], j[3], l[3], r[3], n[3]) -> EVAL_2(i[3], j[3], l[3], r[3] - 1, n[3]) (4): EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(r[4] >= 2, i[4], j[4], l[4], r[4], n[4]) (5): COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], 2 * l[5], l[5], r[5], n[5]) (6): EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(r[6] >= j[6] && r[6] - 1 >= j[6], i[6], j[6], l[6], r[6], n[6]) (7): COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) (8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(r[8] >= j[8] && r[8] - 1 >= j[8], i[8], j[8], l[8], r[8], n[8]) (9): COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], j[9] + 1, l[9], r[9], n[9]) (10): EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1, i[10], j[10], l[10], r[10], n[10]) (11): COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], 2 * j[11], l[11], r[11], n[11]) (12): EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1, i[12], j[12], l[12], r[12], n[12]) (13): COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(j[13] + 1, 2 * j[13] + 2, l[13], r[13], n[13]) (14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(r[14] >= j[14] && j[14] > r[14] - 1, i[14], j[14], l[14], r[14], n[14]) (15): COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) (17): COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], 2 * j[17], l[17], r[17], n[17]) (18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(l[18] >= 2 && l[18] >= 1 && r[18] >= 2, i[18], j[18], l[18], r[18], n[18]) (19): COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19]) -> EVAL_2(i[19], j[19], l[19] - 1, r[19], n[19]) (20): EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(2 > l[20] && l[20] >= 1 && r[20] >= 2, i[20], j[20], l[20], r[20], n[20]) (21): COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], r[21] - 1, n[21]) (0) -> (1), if (l[0] >= 2 & i[0] ->^* i[1] & j[0] ->^* j[1] & l[0] ->^* l[1] & r[0] ->^* r[1] & n[0] ->^* n[1]) (1) -> (4), if (i[1] ->^* i[4] & j[1] ->^* j[4] & l[1] - 1 ->^* l[4] & r[1] ->^* r[4] & n[1] ->^* n[4]) (2) -> (3), if (2 > l[2] & i[2] ->^* i[3] & j[2] ->^* j[3] & l[2] ->^* l[3] & r[2] ->^* r[3] & n[2] ->^* n[3]) (3) -> (4), if (i[3] ->^* i[4] & j[3] ->^* j[4] & l[3] ->^* l[4] & r[3] - 1 ->^* r[4] & n[3] ->^* n[4]) (4) -> (5), if (r[4] >= 2 & i[4] ->^* i[5] & j[4] ->^* j[5] & l[4] ->^* l[5] & r[4] ->^* r[5] & n[4] ->^* n[5]) (5) -> (6), if (l[5] ->^* i[6] & 2 * l[5] ->^* j[6] & l[5] ->^* l[6] & r[5] ->^* r[6] & n[5] ->^* n[6]) (5) -> (8), if (l[5] ->^* i[8] & 2 * l[5] ->^* j[8] & l[5] ->^* l[8] & r[5] ->^* r[8] & n[5] ->^* n[8]) (5) -> (10), if (l[5] ->^* i[10] & 2 * l[5] ->^* j[10] & l[5] ->^* l[10] & r[5] ->^* r[10] & n[5] ->^* n[10]) (5) -> (12), if (l[5] ->^* i[12] & 2 * l[5] ->^* j[12] & l[5] ->^* l[12] & r[5] ->^* r[12] & n[5] ->^* n[12]) (5) -> (14), if (l[5] ->^* i[14] & 2 * l[5] ->^* j[14] & l[5] ->^* l[14] & r[5] ->^* r[14] & n[5] ->^* n[14]) (5) -> (16), if (l[5] ->^* i[16] & 2 * l[5] ->^* j[16] & l[5] ->^* l[16] & r[5] ->^* r[16] & n[5] ->^* n[16]) (6) -> (7), if (r[6] >= j[6] && r[6] - 1 >= j[6] & i[6] ->^* i[7] & j[6] ->^* j[7] & l[6] ->^* l[7] & r[6] ->^* r[7] & n[6] ->^* n[7]) (7) -> (18), if (i[7] ->^* i[18] & j[7] ->^* j[18] & l[7] ->^* l[18] & r[7] ->^* r[18] & n[7] ->^* n[18]) (7) -> (20), if (i[7] ->^* i[20] & j[7] ->^* j[20] & l[7] ->^* l[20] & r[7] ->^* r[20] & n[7] ->^* n[20]) (8) -> (9), if (r[8] >= j[8] && r[8] - 1 >= j[8] & i[8] ->^* i[9] & j[8] ->^* j[9] & l[8] ->^* l[9] & r[8] ->^* r[9] & n[8] ->^* n[9]) (9) -> (18), if (i[9] ->^* i[18] & j[9] + 1 ->^* j[18] & l[9] ->^* l[18] & r[9] ->^* r[18] & n[9] ->^* n[18]) (9) -> (20), if (i[9] ->^* i[20] & j[9] + 1 ->^* j[20] & l[9] ->^* l[20] & r[9] ->^* r[20] & n[9] ->^* n[20]) (10) -> (11), if (r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1 & i[10] ->^* i[11] & j[10] ->^* j[11] & l[10] ->^* l[11] & r[10] ->^* r[11] & n[10] ->^* n[11]) (11) -> (6), if (j[11] ->^* i[6] & 2 * j[11] ->^* j[6] & l[11] ->^* l[6] & r[11] ->^* r[6] & n[11] ->^* n[6]) (11) -> (8), if (j[11] ->^* i[8] & 2 * j[11] ->^* j[8] & l[11] ->^* l[8] & r[11] ->^* r[8] & n[11] ->^* n[8]) (11) -> (10), if (j[11] ->^* i[10] & 2 * j[11] ->^* j[10] & l[11] ->^* l[10] & r[11] ->^* r[10] & n[11] ->^* n[10]) (11) -> (12), if (j[11] ->^* i[12] & 2 * j[11] ->^* j[12] & l[11] ->^* l[12] & r[11] ->^* r[12] & n[11] ->^* n[12]) (11) -> (14), if (j[11] ->^* i[14] & 2 * j[11] ->^* j[14] & l[11] ->^* l[14] & r[11] ->^* r[14] & n[11] ->^* n[14]) (11) -> (16), if (j[11] ->^* i[16] & 2 * j[11] ->^* j[16] & l[11] ->^* l[16] & r[11] ->^* r[16] & n[11] ->^* n[16]) (12) -> (13), if (r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1 & i[12] ->^* i[13] & j[12] ->^* j[13] & l[12] ->^* l[13] & r[12] ->^* r[13] & n[12] ->^* n[13]) (13) -> (6), if (j[13] + 1 ->^* i[6] & 2 * j[13] + 2 ->^* j[6] & l[13] ->^* l[6] & r[13] ->^* r[6] & n[13] ->^* n[6]) (13) -> (8), if (j[13] + 1 ->^* i[8] & 2 * j[13] + 2 ->^* j[8] & l[13] ->^* l[8] & r[13] ->^* r[8] & n[13] ->^* n[8]) (13) -> (10), if (j[13] + 1 ->^* i[10] & 2 * j[13] + 2 ->^* j[10] & l[13] ->^* l[10] & r[13] ->^* r[10] & n[13] ->^* n[10]) (13) -> (12), if (j[13] + 1 ->^* i[12] & 2 * j[13] + 2 ->^* j[12] & l[13] ->^* l[12] & r[13] ->^* r[12] & n[13] ->^* n[12]) (13) -> (14), if (j[13] + 1 ->^* i[14] & 2 * j[13] + 2 ->^* j[14] & l[13] ->^* l[14] & r[13] ->^* r[14] & n[13] ->^* n[14]) (13) -> (16), if (j[13] + 1 ->^* i[16] & 2 * j[13] + 2 ->^* j[16] & l[13] ->^* l[16] & r[13] ->^* r[16] & n[13] ->^* n[16]) (14) -> (15), if (r[14] >= j[14] && j[14] > r[14] - 1 & i[14] ->^* i[15] & j[14] ->^* j[15] & l[14] ->^* l[15] & r[14] ->^* r[15] & n[14] ->^* n[15]) (15) -> (18), if (i[15] ->^* i[18] & j[15] ->^* j[18] & l[15] ->^* l[18] & r[15] ->^* r[18] & n[15] ->^* n[18]) (15) -> (20), if (i[15] ->^* i[20] & j[15] ->^* j[20] & l[15] ->^* l[20] & r[15] ->^* r[20] & n[15] ->^* n[20]) (16) -> (17), if (r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1 & i[16] ->^* i[17] & j[16] ->^* j[17] & l[16] ->^* l[17] & r[16] ->^* r[17] & n[16] ->^* n[17]) (17) -> (6), if (j[17] ->^* i[6] & 2 * j[17] ->^* j[6] & l[17] ->^* l[6] & r[17] ->^* r[6] & n[17] ->^* n[6]) (17) -> (8), if (j[17] ->^* i[8] & 2 * j[17] ->^* j[8] & l[17] ->^* l[8] & r[17] ->^* r[8] & n[17] ->^* n[8]) (17) -> (10), if (j[17] ->^* i[10] & 2 * j[17] ->^* j[10] & l[17] ->^* l[10] & r[17] ->^* r[10] & n[17] ->^* n[10]) (17) -> (12), if (j[17] ->^* i[12] & 2 * j[17] ->^* j[12] & l[17] ->^* l[12] & r[17] ->^* r[12] & n[17] ->^* n[12]) (17) -> (14), if (j[17] ->^* i[14] & 2 * j[17] ->^* j[14] & l[17] ->^* l[14] & r[17] ->^* r[14] & n[17] ->^* n[14]) (17) -> (16), if (j[17] ->^* i[16] & 2 * j[17] ->^* j[16] & l[17] ->^* l[16] & r[17] ->^* r[16] & n[17] ->^* n[16]) (18) -> (19), if (l[18] >= 2 && l[18] >= 1 && r[18] >= 2 & i[18] ->^* i[19] & j[18] ->^* j[19] & l[18] ->^* l[19] & r[18] ->^* r[19] & n[18] ->^* n[19]) (19) -> (4), if (i[19] ->^* i[4] & j[19] ->^* j[4] & l[19] - 1 ->^* l[4] & r[19] ->^* r[4] & n[19] ->^* n[4]) (20) -> (21), if (2 > l[20] && l[20] >= 1 && r[20] >= 2 & i[20] ->^* i[21] & j[20] ->^* j[21] & l[20] ->^* l[21] & r[20] ->^* r[21] & n[20] ->^* n[21]) (21) -> (4), if (i[21] ->^* i[4] & j[21] ->^* j[4] & l[21] ->^* l[4] & r[21] - 1 ->^* r[4] & n[21] ->^* n[4]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (5) IDependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. ---------------------------------------- (6) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Integer, Boolean R is empty. The integer pair graph contains the following rules and edges: (17): COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], 2 * j[17], l[17], r[17], n[17]) (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) (15): COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) (14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(r[14] >= j[14] && j[14] > r[14] - 1, i[14], j[14], l[14], r[14], n[14]) (13): COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(j[13] + 1, 2 * j[13] + 2, l[13], r[13], n[13]) (12): EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1, i[12], j[12], l[12], r[12], n[12]) (11): COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], 2 * j[11], l[11], r[11], n[11]) (10): EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1, i[10], j[10], l[10], r[10], n[10]) (9): COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], j[9] + 1, l[9], r[9], n[9]) (8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(r[8] >= j[8] && r[8] - 1 >= j[8], i[8], j[8], l[8], r[8], n[8]) (21): COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], r[21] - 1, n[21]) (20): EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(2 > l[20] && l[20] >= 1 && r[20] >= 2, i[20], j[20], l[20], r[20], n[20]) (19): COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19]) -> EVAL_2(i[19], j[19], l[19] - 1, r[19], n[19]) (18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(l[18] >= 2 && l[18] >= 1 && r[18] >= 2, i[18], j[18], l[18], r[18], n[18]) (7): COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) (6): EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(r[6] >= j[6] && r[6] - 1 >= j[6], i[6], j[6], l[6], r[6], n[6]) (5): COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], 2 * l[5], l[5], r[5], n[5]) (4): EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(r[4] >= 2, i[4], j[4], l[4], r[4], n[4]) (19) -> (4), if (i[19] ->^* i[4] & j[19] ->^* j[4] & l[19] - 1 ->^* l[4] & r[19] ->^* r[4] & n[19] ->^* n[4]) (21) -> (4), if (i[21] ->^* i[4] & j[21] ->^* j[4] & l[21] ->^* l[4] & r[21] - 1 ->^* r[4] & n[21] ->^* n[4]) (4) -> (5), if (r[4] >= 2 & i[4] ->^* i[5] & j[4] ->^* j[5] & l[4] ->^* l[5] & r[4] ->^* r[5] & n[4] ->^* n[5]) (5) -> (6), if (l[5] ->^* i[6] & 2 * l[5] ->^* j[6] & l[5] ->^* l[6] & r[5] ->^* r[6] & n[5] ->^* n[6]) (11) -> (6), if (j[11] ->^* i[6] & 2 * j[11] ->^* j[6] & l[11] ->^* l[6] & r[11] ->^* r[6] & n[11] ->^* n[6]) (13) -> (6), if (j[13] + 1 ->^* i[6] & 2 * j[13] + 2 ->^* j[6] & l[13] ->^* l[6] & r[13] ->^* r[6] & n[13] ->^* n[6]) (17) -> (6), if (j[17] ->^* i[6] & 2 * j[17] ->^* j[6] & l[17] ->^* l[6] & r[17] ->^* r[6] & n[17] ->^* n[6]) (6) -> (7), if (r[6] >= j[6] && r[6] - 1 >= j[6] & i[6] ->^* i[7] & j[6] ->^* j[7] & l[6] ->^* l[7] & r[6] ->^* r[7] & n[6] ->^* n[7]) (5) -> (8), if (l[5] ->^* i[8] & 2 * l[5] ->^* j[8] & l[5] ->^* l[8] & r[5] ->^* r[8] & n[5] ->^* n[8]) (11) -> (8), if (j[11] ->^* i[8] & 2 * j[11] ->^* j[8] & l[11] ->^* l[8] & r[11] ->^* r[8] & n[11] ->^* n[8]) (13) -> (8), if (j[13] + 1 ->^* i[8] & 2 * j[13] + 2 ->^* j[8] & l[13] ->^* l[8] & r[13] ->^* r[8] & n[13] ->^* n[8]) (17) -> (8), if (j[17] ->^* i[8] & 2 * j[17] ->^* j[8] & l[17] ->^* l[8] & r[17] ->^* r[8] & n[17] ->^* n[8]) (8) -> (9), if (r[8] >= j[8] && r[8] - 1 >= j[8] & i[8] ->^* i[9] & j[8] ->^* j[9] & l[8] ->^* l[9] & r[8] ->^* r[9] & n[8] ->^* n[9]) (5) -> (10), if (l[5] ->^* i[10] & 2 * l[5] ->^* j[10] & l[5] ->^* l[10] & r[5] ->^* r[10] & n[5] ->^* n[10]) (11) -> (10), if (j[11] ->^* i[10] & 2 * j[11] ->^* j[10] & l[11] ->^* l[10] & r[11] ->^* r[10] & n[11] ->^* n[10]) (13) -> (10), if (j[13] + 1 ->^* i[10] & 2 * j[13] + 2 ->^* j[10] & l[13] ->^* l[10] & r[13] ->^* r[10] & n[13] ->^* n[10]) (17) -> (10), if (j[17] ->^* i[10] & 2 * j[17] ->^* j[10] & l[17] ->^* l[10] & r[17] ->^* r[10] & n[17] ->^* n[10]) (10) -> (11), if (r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1 & i[10] ->^* i[11] & j[10] ->^* j[11] & l[10] ->^* l[11] & r[10] ->^* r[11] & n[10] ->^* n[11]) (5) -> (12), if (l[5] ->^* i[12] & 2 * l[5] ->^* j[12] & l[5] ->^* l[12] & r[5] ->^* r[12] & n[5] ->^* n[12]) (11) -> (12), if (j[11] ->^* i[12] & 2 * j[11] ->^* j[12] & l[11] ->^* l[12] & r[11] ->^* r[12] & n[11] ->^* n[12]) (13) -> (12), if (j[13] + 1 ->^* i[12] & 2 * j[13] + 2 ->^* j[12] & l[13] ->^* l[12] & r[13] ->^* r[12] & n[13] ->^* n[12]) (17) -> (12), if (j[17] ->^* i[12] & 2 * j[17] ->^* j[12] & l[17] ->^* l[12] & r[17] ->^* r[12] & n[17] ->^* n[12]) (12) -> (13), if (r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1 & i[12] ->^* i[13] & j[12] ->^* j[13] & l[12] ->^* l[13] & r[12] ->^* r[13] & n[12] ->^* n[13]) (5) -> (14), if (l[5] ->^* i[14] & 2 * l[5] ->^* j[14] & l[5] ->^* l[14] & r[5] ->^* r[14] & n[5] ->^* n[14]) (11) -> (14), if (j[11] ->^* i[14] & 2 * j[11] ->^* j[14] & l[11] ->^* l[14] & r[11] ->^* r[14] & n[11] ->^* n[14]) (13) -> (14), if (j[13] + 1 ->^* i[14] & 2 * j[13] + 2 ->^* j[14] & l[13] ->^* l[14] & r[13] ->^* r[14] & n[13] ->^* n[14]) (17) -> (14), if (j[17] ->^* i[14] & 2 * j[17] ->^* j[14] & l[17] ->^* l[14] & r[17] ->^* r[14] & n[17] ->^* n[14]) (14) -> (15), if (r[14] >= j[14] && j[14] > r[14] - 1 & i[14] ->^* i[15] & j[14] ->^* j[15] & l[14] ->^* l[15] & r[14] ->^* r[15] & n[14] ->^* n[15]) (5) -> (16), if (l[5] ->^* i[16] & 2 * l[5] ->^* j[16] & l[5] ->^* l[16] & r[5] ->^* r[16] & n[5] ->^* n[16]) (11) -> (16), if (j[11] ->^* i[16] & 2 * j[11] ->^* j[16] & l[11] ->^* l[16] & r[11] ->^* r[16] & n[11] ->^* n[16]) (13) -> (16), if (j[13] + 1 ->^* i[16] & 2 * j[13] + 2 ->^* j[16] & l[13] ->^* l[16] & r[13] ->^* r[16] & n[13] ->^* n[16]) (17) -> (16), if (j[17] ->^* i[16] & 2 * j[17] ->^* j[16] & l[17] ->^* l[16] & r[17] ->^* r[16] & n[17] ->^* n[16]) (16) -> (17), if (r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1 & i[16] ->^* i[17] & j[16] ->^* j[17] & l[16] ->^* l[17] & r[16] ->^* r[17] & n[16] ->^* n[17]) (7) -> (18), if (i[7] ->^* i[18] & j[7] ->^* j[18] & l[7] ->^* l[18] & r[7] ->^* r[18] & n[7] ->^* n[18]) (9) -> (18), if (i[9] ->^* i[18] & j[9] + 1 ->^* j[18] & l[9] ->^* l[18] & r[9] ->^* r[18] & n[9] ->^* n[18]) (15) -> (18), if (i[15] ->^* i[18] & j[15] ->^* j[18] & l[15] ->^* l[18] & r[15] ->^* r[18] & n[15] ->^* n[18]) (18) -> (19), if (l[18] >= 2 && l[18] >= 1 && r[18] >= 2 & i[18] ->^* i[19] & j[18] ->^* j[19] & l[18] ->^* l[19] & r[18] ->^* r[19] & n[18] ->^* n[19]) (7) -> (20), if (i[7] ->^* i[20] & j[7] ->^* j[20] & l[7] ->^* l[20] & r[7] ->^* r[20] & n[7] ->^* n[20]) (9) -> (20), if (i[9] ->^* i[20] & j[9] + 1 ->^* j[20] & l[9] ->^* l[20] & r[9] ->^* r[20] & n[9] ->^* n[20]) (15) -> (20), if (i[15] ->^* i[20] & j[15] ->^* j[20] & l[15] ->^* l[20] & r[15] ->^* r[20] & n[15] ->^* n[20]) (20) -> (21), if (2 > l[20] && l[20] >= 1 && r[20] >= 2 & i[20] ->^* i[21] & j[20] ->^* j[21] & l[20] ->^* l[21] & r[20] ->^* r[21] & n[20] ->^* n[21]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (7) IDPNonInfProof (SOUND) Used the following options for this NonInfProof: IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@106f4543 Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1 The constraints were generated the following way: The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: Note that final constraints are written in bold face. For Pair COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) the following chains were created: *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] ==> COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_NonInfC & COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (1) using rules (III), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_EVAL_3(j[16], *(2, j[16]), l[16], r[16], n[16]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)bni_87 + (-1)Bound*bni_87] + [bni_87]l[16] >= 0 & [(-1)bso_88] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)bni_87 + (-1)Bound*bni_87] + [bni_87]l[16] >= 0 & [(-1)bso_88] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)bni_87 + (-1)Bound*bni_87] + [bni_87]l[16] >= 0 & [(-1)bso_88] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & [bni_87] = 0 & 0 = 0 & [(-1)bni_87 + (-1)Bound*bni_87] >= 0 & 0 = 0 & [(-1)bso_88] >= 0) For Pair EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) the following chains were created: *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] ==> EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) & (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) & (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)bni_89 + (-1)Bound*bni_89] + [bni_89]l[16] >= 0 & [(-1)bso_90] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)bni_89 + (-1)Bound*bni_89] + [bni_89]l[16] >= 0 & [(-1)bso_90] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)bni_89 + (-1)Bound*bni_89] + [bni_89]l[16] >= 0 & [(-1)bso_90] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & 0 = 0 & [bni_89] = 0 & 0 = 0 & [(-1)bni_89 + (-1)Bound*bni_89] >= 0 & [(-1)bso_90] >= 0) For Pair COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) the following chains were created: *We consider the chain COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]), EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]) which results in the following constraint: (1) (i[15]=i[18] & j[15]=j[18] & l[15]=l[18] & r[15]=r[18] & n[15]=n[18] ==> COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_NonInfC & COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_EVAL_4(i[15], j[15], l[15], r[15], n[15]) & (U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=)) We simplified constraint (1) using rule (IV) which results in the following new constraint: (2) (COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_NonInfC & COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_EVAL_4(i[15], j[15], l[15], r[15], n[15]) & (U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) ((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_91] = 0 & [(-1)bso_92] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) ((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_91] = 0 & [(-1)bso_92] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) ((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_91] = 0 & [(-1)bso_92] >= 0) *We consider the chain COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]), EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) which results in the following constraint: (1) (i[15]=i[20] & j[15]=j[20] & l[15]=l[20] & r[15]=r[20] & n[15]=n[20] ==> COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_NonInfC & COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_EVAL_4(i[15], j[15], l[15], r[15], n[15]) & (U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=)) We simplified constraint (1) using rule (IV) which results in the following new constraint: (2) (COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_NonInfC & COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_EVAL_4(i[15], j[15], l[15], r[15], n[15]) & (U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) ((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_91] = 0 & [(-1)bso_92] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) ((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_91] = 0 & [(-1)bso_92] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) ((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_91] = 0 & [(-1)bso_92] >= 0) For Pair EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) the following chains were created: *We consider the chain EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]), COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) which results in the following constraint: (1) (&&(>=(r[14], j[14]), >(j[14], -(r[14], 1)))=TRUE & i[14]=i[15] & j[14]=j[15] & l[14]=l[15] & r[14]=r[15] & n[14]=n[15] ==> EVAL_3(i[14], j[14], l[14], r[14], n[14])_>=_NonInfC & EVAL_3(i[14], j[14], l[14], r[14], n[14])_>=_COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) & (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[14], j[14])=TRUE & >(j[14], -(r[14], 1))=TRUE ==> EVAL_3(i[14], j[14], l[14], r[14], n[14])_>=_NonInfC & EVAL_3(i[14], j[14], l[14], r[14], n[14])_>=_COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) & (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[14] + [-1]j[14] >= 0 & j[14] + [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & [(-1)bni_93 + (-1)Bound*bni_93] + [bni_93]l[14] >= 0 & [(-1)bso_94] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[14] + [-1]j[14] >= 0 & j[14] + [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & [(-1)bni_93 + (-1)Bound*bni_93] + [bni_93]l[14] >= 0 & [(-1)bso_94] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[14] + [-1]j[14] >= 0 & j[14] + [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & [(-1)bni_93 + (-1)Bound*bni_93] + [bni_93]l[14] >= 0 & [(-1)bso_94] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[14] + [-1]j[14] >= 0 & j[14] + [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & [bni_93] = 0 & 0 = 0 & [(-1)bni_93 + (-1)Bound*bni_93] >= 0 & [(-1)bso_94] >= 0) We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (7) (r[14] >= 0 & [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & [bni_93] = 0 & 0 = 0 & [(-1)bni_93 + (-1)Bound*bni_93] >= 0 & [(-1)bso_94] >= 0) We simplified constraint (7) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (8) (0 >= 0 & 0 >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & [bni_93] = 0 & 0 = 0 & [(-1)bni_93 + (-1)Bound*bni_93] >= 0 & [(-1)bso_94] >= 0) We simplified constraint (8) using rule (IDP_SMT_SPLIT) which results in the following new constraints: (9) (0 >= 0 & 0 >= 0 & j[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & [bni_93] = 0 & 0 = 0 & [(-1)bni_93 + (-1)Bound*bni_93] >= 0 & [(-1)bso_94] >= 0) (10) (0 >= 0 & 0 >= 0 & j[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & [bni_93] = 0 & 0 = 0 & [(-1)bni_93 + (-1)Bound*bni_93] >= 0 & [(-1)bso_94] >= 0) For Pair COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) the following chains were created: *We consider the chain EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]), COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) which results in the following constraint: (1) (&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1))=TRUE & i[12]=i[13] & j[12]=j[13] & l[12]=l[13] & r[12]=r[13] & n[12]=n[13] ==> COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_NonInfC & COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (1) using rules (III), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[12], 1)=TRUE & >=(r[12], j[12])=TRUE & >=(-(r[12], 1), j[12])=TRUE ==> COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_EVAL_3(+(j[12], 1), +(*(2, j[12]), 2), l[12], r[12], n[12]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_95 + (-1)Bound*bni_95] + [bni_95]l[12] >= 0 & [(-1)bso_96] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_95 + (-1)Bound*bni_95] + [bni_95]l[12] >= 0 & [(-1)bso_96] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_95 + (-1)Bound*bni_95] + [bni_95]l[12] >= 0 & [(-1)bso_96] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & [bni_95] = 0 & 0 = 0 & [(-1)bni_95 + (-1)Bound*bni_95] >= 0 & 0 = 0 & [(-1)bso_96] >= 0) For Pair EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) the following chains were created: *We consider the chain EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]), COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) which results in the following constraint: (1) (&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1))=TRUE & i[12]=i[13] & j[12]=j[13] & l[12]=l[13] & r[12]=r[13] & n[12]=n[13] ==> EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) & (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[12], 1)=TRUE & >=(r[12], j[12])=TRUE & >=(-(r[12], 1), j[12])=TRUE ==> EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) & (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & [(-1)bni_97 + (-1)Bound*bni_97] + [bni_97]l[12] >= 0 & [(-1)bso_98] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & [(-1)bni_97 + (-1)Bound*bni_97] + [bni_97]l[12] >= 0 & [(-1)bso_98] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & [(-1)bni_97 + (-1)Bound*bni_97] + [bni_97]l[12] >= 0 & [(-1)bso_98] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & 0 = 0 & [bni_97] = 0 & 0 = 0 & [(-1)bni_97 + (-1)Bound*bni_97] >= 0 & [(-1)bso_98] >= 0) For Pair COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) the following chains were created: *We consider the chain EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]), COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) which results in the following constraint: (1) (&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1))=TRUE & i[10]=i[11] & j[10]=j[11] & l[10]=l[11] & r[10]=r[11] & n[10]=n[11] ==> COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_NonInfC & COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (1) using rules (III), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[10], 1)=TRUE & >=(r[10], j[10])=TRUE & >=(-(r[10], 1), j[10])=TRUE ==> COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_EVAL_3(j[10], *(2, j[10]), l[10], r[10], n[10]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)bni_99 + (-1)Bound*bni_99] + [bni_99]l[10] >= 0 & [(-1)bso_100] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)bni_99 + (-1)Bound*bni_99] + [bni_99]l[10] >= 0 & [(-1)bso_100] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)bni_99 + (-1)Bound*bni_99] + [bni_99]l[10] >= 0 & [(-1)bso_100] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & [bni_99] = 0 & 0 = 0 & [(-1)bni_99 + (-1)Bound*bni_99] >= 0 & 0 = 0 & [(-1)bso_100] >= 0) For Pair EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) the following chains were created: *We consider the chain EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]), COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) which results in the following constraint: (1) (&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1))=TRUE & i[10]=i[11] & j[10]=j[11] & l[10]=l[11] & r[10]=r[11] & n[10]=n[11] ==> EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) & (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[10], 1)=TRUE & >=(r[10], j[10])=TRUE & >=(-(r[10], 1), j[10])=TRUE ==> EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) & (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & [(-1)bni_101 + (-1)Bound*bni_101] + [bni_101]l[10] >= 0 & [(-1)bso_102] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & [(-1)bni_101 + (-1)Bound*bni_101] + [bni_101]l[10] >= 0 & [(-1)bso_102] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & [(-1)bni_101 + (-1)Bound*bni_101] + [bni_101]l[10] >= 0 & [(-1)bso_102] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & 0 = 0 & [bni_101] = 0 & 0 = 0 & [(-1)bni_101 + (-1)Bound*bni_101] >= 0 & [(-1)bso_102] >= 0) For Pair COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) the following chains were created: *We consider the chain EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]), COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]), EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]) which results in the following constraint: (1) (&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8]))=TRUE & i[8]=i[9] & j[8]=j[9] & l[8]=l[9] & r[8]=r[9] & n[8]=n[9] & i[9]=i[18] & +(j[9], 1)=j[18] & l[9]=l[18] & r[9]=r[18] & n[9]=n[18] ==> COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9])_>=_NonInfC & COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9])_>=_EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) & (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[8], j[8])=TRUE & >=(-(r[8], 1), j[8])=TRUE ==> COND_EVAL_31(TRUE, i[8], j[8], l[8], r[8], n[8])_>=_NonInfC & COND_EVAL_31(TRUE, i[8], j[8], l[8], r[8], n[8])_>=_EVAL_4(i[8], +(j[8], 1), l[8], r[8], n[8]) & (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & [(-1)bni_103 + (-1)Bound*bni_103] + [bni_103]l[8] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & [(-1)bni_103 + (-1)Bound*bni_103] + [bni_103]l[8] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & [(-1)bni_103 + (-1)Bound*bni_103] + [bni_103]l[8] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (7) (r[8] >= 0 & [-1] + r[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (7) using rule (IDP_SMT_SPLIT) which results in the following new constraints: (8) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) (9) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) *We consider the chain EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]), COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]), EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) which results in the following constraint: (1) (&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8]))=TRUE & i[8]=i[9] & j[8]=j[9] & l[8]=l[9] & r[8]=r[9] & n[8]=n[9] & i[9]=i[20] & +(j[9], 1)=j[20] & l[9]=l[20] & r[9]=r[20] & n[9]=n[20] ==> COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9])_>=_NonInfC & COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9])_>=_EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) & (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[8], j[8])=TRUE & >=(-(r[8], 1), j[8])=TRUE ==> COND_EVAL_31(TRUE, i[8], j[8], l[8], r[8], n[8])_>=_NonInfC & COND_EVAL_31(TRUE, i[8], j[8], l[8], r[8], n[8])_>=_EVAL_4(i[8], +(j[8], 1), l[8], r[8], n[8]) & (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & [(-1)bni_103 + (-1)Bound*bni_103] + [bni_103]l[8] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & [(-1)bni_103 + (-1)Bound*bni_103] + [bni_103]l[8] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & [(-1)bni_103 + (-1)Bound*bni_103] + [bni_103]l[8] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (7) (r[8] >= 0 & [-1] + r[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) We simplified constraint (7) using rule (IDP_SMT_SPLIT) which results in the following new constraints: (8) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) (9) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) For Pair EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) the following chains were created: *We consider the chain EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]), COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) which results in the following constraint: (1) (&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8]))=TRUE & i[8]=i[9] & j[8]=j[9] & l[8]=l[9] & r[8]=r[9] & n[8]=n[9] ==> EVAL_3(i[8], j[8], l[8], r[8], n[8])_>=_NonInfC & EVAL_3(i[8], j[8], l[8], r[8], n[8])_>=_COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) & (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[8], j[8])=TRUE & >=(-(r[8], 1), j[8])=TRUE ==> EVAL_3(i[8], j[8], l[8], r[8], n[8])_>=_NonInfC & EVAL_3(i[8], j[8], l[8], r[8], n[8])_>=_COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) & (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & [(-1)bni_105 + (-1)Bound*bni_105] + [bni_105]l[8] >= 0 & [(-1)bso_106] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & [(-1)bni_105 + (-1)Bound*bni_105] + [bni_105]l[8] >= 0 & [(-1)bso_106] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & [(-1)bni_105 + (-1)Bound*bni_105] + [bni_105]l[8] >= 0 & [(-1)bso_106] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & [bni_105] = 0 & 0 = 0 & [(-1)bni_105 + (-1)Bound*bni_105] >= 0 & [(-1)bso_106] >= 0) We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (7) (r[8] >= 0 & [-1] + r[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & [bni_105] = 0 & 0 = 0 & [(-1)bni_105 + (-1)Bound*bni_105] >= 0 & [(-1)bso_106] >= 0) We simplified constraint (7) using rule (IDP_SMT_SPLIT) which results in the following new constraints: (8) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & [bni_105] = 0 & 0 = 0 & [(-1)bni_105 + (-1)Bound*bni_105] >= 0 & [(-1)bso_106] >= 0) (9) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & [bni_105] = 0 & 0 = 0 & [(-1)bni_105 + (-1)Bound*bni_105] >= 0 & [(-1)bso_106] >= 0) For Pair COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) the following chains were created: *We consider the chain EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]), COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]), EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) which results in the following constraint: (1) (&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2))=TRUE & i[20]=i[21] & j[20]=j[21] & l[20]=l[21] & r[20]=r[21] & n[20]=n[21] & i[21]=i[4] & j[21]=j[4] & l[21]=l[4] & -(r[21], 1)=r[4] & n[21]=n[4] ==> COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21])_>=_NonInfC & COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21])_>=_EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) & (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[20], 2)=TRUE & >(2, l[20])=TRUE & >=(l[20], 1)=TRUE ==> COND_EVAL_41(TRUE, i[20], j[20], l[20], r[20], n[20])_>=_NonInfC & COND_EVAL_41(TRUE, i[20], j[20], l[20], r[20], n[20])_>=_EVAL_2(i[20], j[20], l[20], -(r[20], 1), n[20]) & (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & [(-1)bni_107 + (-1)Bound*bni_107] + [bni_107]l[20] >= 0 & [(-1)bso_108] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & [(-1)bni_107 + (-1)Bound*bni_107] + [bni_107]l[20] >= 0 & [(-1)bso_108] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & [(-1)bni_107 + (-1)Bound*bni_107] + [bni_107]l[20] >= 0 & [(-1)bso_108] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_107 + (-1)Bound*bni_107] + [bni_107]l[20] >= 0 & [(-1)bso_108] >= 0) For Pair EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) the following chains were created: *We consider the chain EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]), COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) which results in the following constraint: (1) (&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2))=TRUE & i[20]=i[21] & j[20]=j[21] & l[20]=l[21] & r[20]=r[21] & n[20]=n[21] ==> EVAL_4(i[20], j[20], l[20], r[20], n[20])_>=_NonInfC & EVAL_4(i[20], j[20], l[20], r[20], n[20])_>=_COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) & (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[20], 2)=TRUE & >(2, l[20])=TRUE & >=(l[20], 1)=TRUE ==> EVAL_4(i[20], j[20], l[20], r[20], n[20])_>=_NonInfC & EVAL_4(i[20], j[20], l[20], r[20], n[20])_>=_COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) & (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & [(-1)bni_109 + (-1)Bound*bni_109] + [bni_109]l[20] >= 0 & [(-1)bso_110] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & [(-1)bni_109 + (-1)Bound*bni_109] + [bni_109]l[20] >= 0 & [(-1)bso_110] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & [(-1)bni_109 + (-1)Bound*bni_109] + [bni_109]l[20] >= 0 & [(-1)bso_110] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_109 + (-1)Bound*bni_109] + [bni_109]l[20] >= 0 & [(-1)bso_110] >= 0) For Pair COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19]) -> EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19]) the following chains were created: *We consider the chain EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]), COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19]) -> EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19]), EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) which results in the following constraint: (1) (&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2))=TRUE & i[18]=i[19] & j[18]=j[19] & l[18]=l[19] & r[18]=r[19] & n[18]=n[19] & i[19]=i[4] & j[19]=j[4] & -(l[19], 1)=l[4] & r[19]=r[4] & n[19]=n[4] ==> COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19])_>=_NonInfC & COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19])_>=_EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19]) & (U^Increasing(EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[18], 2)=TRUE & >=(l[18], 2)=TRUE & >=(l[18], 1)=TRUE ==> COND_EVAL_4(TRUE, i[18], j[18], l[18], r[18], n[18])_>=_NonInfC & COND_EVAL_4(TRUE, i[18], j[18], l[18], r[18], n[18])_>=_EVAL_2(i[18], j[18], -(l[18], 1), r[18], n[18]) & (U^Increasing(EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19])), >=) & [(-1)bni_111 + (-1)Bound*bni_111] + [bni_111]l[18] >= 0 & [1 + (-1)bso_112] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19])), >=) & [(-1)bni_111 + (-1)Bound*bni_111] + [bni_111]l[18] >= 0 & [1 + (-1)bso_112] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19])), >=) & [(-1)bni_111 + (-1)Bound*bni_111] + [bni_111]l[18] >= 0 & [1 + (-1)bso_112] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_111 + (-1)Bound*bni_111] + [bni_111]l[18] >= 0 & [1 + (-1)bso_112] >= 0) For Pair EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]) the following chains were created: *We consider the chain EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]), COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19]) -> EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19]) which results in the following constraint: (1) (&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2))=TRUE & i[18]=i[19] & j[18]=j[19] & l[18]=l[19] & r[18]=r[19] & n[18]=n[19] ==> EVAL_4(i[18], j[18], l[18], r[18], n[18])_>=_NonInfC & EVAL_4(i[18], j[18], l[18], r[18], n[18])_>=_COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]) & (U^Increasing(COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[18], 2)=TRUE & >=(l[18], 2)=TRUE & >=(l[18], 1)=TRUE ==> EVAL_4(i[18], j[18], l[18], r[18], n[18])_>=_NonInfC & EVAL_4(i[18], j[18], l[18], r[18], n[18])_>=_COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]) & (U^Increasing(COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18])), >=) & [(-1)bni_113 + (-1)Bound*bni_113] + [bni_113]l[18] >= 0 & [(-1)bso_114] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18])), >=) & [(-1)bni_113 + (-1)Bound*bni_113] + [bni_113]l[18] >= 0 & [(-1)bso_114] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18])), >=) & [(-1)bni_113 + (-1)Bound*bni_113] + [bni_113]l[18] >= 0 & [(-1)bso_114] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_113 + (-1)Bound*bni_113] + [bni_113]l[18] >= 0 & [(-1)bso_114] >= 0) For Pair COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) the following chains were created: *We consider the chain COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]), EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]) which results in the following constraint: (1) (i[7]=i[18] & j[7]=j[18] & l[7]=l[18] & r[7]=r[18] & n[7]=n[18] ==> COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_NonInfC & COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_EVAL_4(i[7], j[7], l[7], r[7], n[7]) & (U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=)) We simplified constraint (1) using rule (IV) which results in the following new constraint: (2) (COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_NonInfC & COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_EVAL_4(i[7], j[7], l[7], r[7], n[7]) & (U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) ((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_115] = 0 & [(-1)bso_116] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) ((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_115] = 0 & [(-1)bso_116] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) ((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_115] = 0 & [(-1)bso_116] >= 0) *We consider the chain COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]), EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) which results in the following constraint: (1) (i[7]=i[20] & j[7]=j[20] & l[7]=l[20] & r[7]=r[20] & n[7]=n[20] ==> COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_NonInfC & COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_EVAL_4(i[7], j[7], l[7], r[7], n[7]) & (U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=)) We simplified constraint (1) using rule (IV) which results in the following new constraint: (2) (COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_NonInfC & COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_EVAL_4(i[7], j[7], l[7], r[7], n[7]) & (U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) ((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_115] = 0 & [(-1)bso_116] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) ((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_115] = 0 & [(-1)bso_116] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) ((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_115] = 0 & [(-1)bso_116] >= 0) For Pair EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) the following chains were created: *We consider the chain EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]), COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) which results in the following constraint: (1) (&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6]))=TRUE & i[6]=i[7] & j[6]=j[7] & l[6]=l[7] & r[6]=r[7] & n[6]=n[7] ==> EVAL_3(i[6], j[6], l[6], r[6], n[6])_>=_NonInfC & EVAL_3(i[6], j[6], l[6], r[6], n[6])_>=_COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) & (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[6], j[6])=TRUE & >=(-(r[6], 1), j[6])=TRUE ==> EVAL_3(i[6], j[6], l[6], r[6], n[6])_>=_NonInfC & EVAL_3(i[6], j[6], l[6], r[6], n[6])_>=_COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) & (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[6] + [-1]j[6] >= 0 & r[6] + [-1] + [-1]j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & [(-1)bni_117 + (-1)Bound*bni_117] + [bni_117]l[6] >= 0 & [(-1)bso_118] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[6] + [-1]j[6] >= 0 & r[6] + [-1] + [-1]j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & [(-1)bni_117 + (-1)Bound*bni_117] + [bni_117]l[6] >= 0 & [(-1)bso_118] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[6] + [-1]j[6] >= 0 & r[6] + [-1] + [-1]j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & [(-1)bni_117 + (-1)Bound*bni_117] + [bni_117]l[6] >= 0 & [(-1)bso_118] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[6] + [-1]j[6] >= 0 & r[6] + [-1] + [-1]j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & [bni_117] = 0 & 0 = 0 & [(-1)bni_117 + (-1)Bound*bni_117] >= 0 & [(-1)bso_118] >= 0) We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (7) (r[6] >= 0 & [-1] + r[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & [bni_117] = 0 & 0 = 0 & [(-1)bni_117 + (-1)Bound*bni_117] >= 0 & [(-1)bso_118] >= 0) We simplified constraint (7) using rule (IDP_SMT_SPLIT) which results in the following new constraints: (8) (r[6] >= 0 & [-1] + r[6] >= 0 & j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & [bni_117] = 0 & 0 = 0 & [(-1)bni_117 + (-1)Bound*bni_117] >= 0 & [(-1)bso_118] >= 0) (9) (r[6] >= 0 & [-1] + r[6] >= 0 & j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & [bni_117] = 0 & 0 = 0 & [(-1)bni_117 + (-1)Bound*bni_117] >= 0 & [(-1)bso_118] >= 0) For Pair COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) the following chains were created: *We consider the chain EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]), COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) which results in the following constraint: (1) (>=(r[4], 2)=TRUE & i[4]=i[5] & j[4]=j[5] & l[4]=l[5] & r[4]=r[5] & n[4]=n[5] ==> COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5])_>=_NonInfC & COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5])_>=_EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) & (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=)) We simplified constraint (1) using rule (III) which results in the following new constraint: (2) (>=(r[4], 2)=TRUE ==> COND_EVAL_2(TRUE, i[4], j[4], l[4], r[4], n[4])_>=_NonInfC & COND_EVAL_2(TRUE, i[4], j[4], l[4], r[4], n[4])_>=_EVAL_3(l[4], *(2, l[4]), l[4], r[4], n[4]) & (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & [(-1)bni_119 + (-1)Bound*bni_119] + [bni_119]l[4] >= 0 & [(-1)bso_120] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & [(-1)bni_119 + (-1)Bound*bni_119] + [bni_119]l[4] >= 0 & [(-1)bso_120] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & [(-1)bni_119 + (-1)Bound*bni_119] + [bni_119]l[4] >= 0 & [(-1)bso_120] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & 0 = 0 & [bni_119] = 0 & 0 = 0 & 0 = 0 & [(-1)bni_119 + (-1)Bound*bni_119] >= 0 & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bso_120] >= 0) For Pair EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) the following chains were created: *We consider the chain EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]), COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) which results in the following constraint: (1) (>=(r[4], 2)=TRUE & i[4]=i[5] & j[4]=j[5] & l[4]=l[5] & r[4]=r[5] & n[4]=n[5] ==> EVAL_2(i[4], j[4], l[4], r[4], n[4])_>=_NonInfC & EVAL_2(i[4], j[4], l[4], r[4], n[4])_>=_COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) & (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=)) We simplified constraint (1) using rule (IV) which results in the following new constraint: (2) (>=(r[4], 2)=TRUE ==> EVAL_2(i[4], j[4], l[4], r[4], n[4])_>=_NonInfC & EVAL_2(i[4], j[4], l[4], r[4], n[4])_>=_COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) & (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & [(-1)bni_121 + (-1)Bound*bni_121] + [bni_121]l[4] >= 0 & [(-1)bso_122] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & [(-1)bni_121 + (-1)Bound*bni_121] + [bni_121]l[4] >= 0 & [(-1)bso_122] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & [(-1)bni_121 + (-1)Bound*bni_121] + [bni_121]l[4] >= 0 & [(-1)bso_122] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & 0 = 0 & [bni_121] = 0 & 0 = 0 & 0 = 0 & [(-1)bni_121 + (-1)Bound*bni_121] >= 0 & [(-1)bso_122] >= 0) To summarize, we get the following constraints P__>=_ for the following pairs. *COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & [bni_87] = 0 & 0 = 0 & [(-1)bni_87 + (-1)Bound*bni_87] >= 0 & 0 = 0 & [(-1)bso_88] >= 0) *EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & 0 = 0 & [bni_89] = 0 & 0 = 0 & [(-1)bni_89 + (-1)Bound*bni_89] >= 0 & [(-1)bso_90] >= 0) *COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) *((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_91] = 0 & [(-1)bso_92] >= 0) *((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_91] = 0 & [(-1)bso_92] >= 0) *EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) *(0 >= 0 & 0 >= 0 & j[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & [bni_93] = 0 & 0 = 0 & [(-1)bni_93 + (-1)Bound*bni_93] >= 0 & [(-1)bso_94] >= 0) *(0 >= 0 & 0 >= 0 & j[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & [bni_93] = 0 & 0 = 0 & [(-1)bni_93 + (-1)Bound*bni_93] >= 0 & [(-1)bso_94] >= 0) *COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) *(j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & [bni_95] = 0 & 0 = 0 & [(-1)bni_95 + (-1)Bound*bni_95] >= 0 & 0 = 0 & [(-1)bso_96] >= 0) *EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) *(j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & 0 = 0 & [bni_97] = 0 & 0 = 0 & [(-1)bni_97 + (-1)Bound*bni_97] >= 0 & [(-1)bso_98] >= 0) *COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) *(j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & [bni_99] = 0 & 0 = 0 & [(-1)bni_99 + (-1)Bound*bni_99] >= 0 & 0 = 0 & [(-1)bso_100] >= 0) *EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) *(j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & 0 = 0 & [bni_101] = 0 & 0 = 0 & [(-1)bni_101 + (-1)Bound*bni_101] >= 0 & [(-1)bso_102] >= 0) *COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & [bni_103] = 0 & 0 = 0 & [(-1)bni_103 + (-1)Bound*bni_103] >= 0 & [(-1)bso_104] >= 0) *EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & [bni_105] = 0 & 0 = 0 & [(-1)bni_105 + (-1)Bound*bni_105] >= 0 & [(-1)bso_106] >= 0) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & [bni_105] = 0 & 0 = 0 & [(-1)bni_105 + (-1)Bound*bni_105] >= 0 & [(-1)bso_106] >= 0) *COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) *(r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_107 + (-1)Bound*bni_107] + [bni_107]l[20] >= 0 & [(-1)bso_108] >= 0) *EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) *(r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_109 + (-1)Bound*bni_109] + [bni_109]l[20] >= 0 & [(-1)bso_110] >= 0) *COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19]) -> EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19]) *(r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_111 + (-1)Bound*bni_111] + [bni_111]l[18] >= 0 & [1 + (-1)bso_112] >= 0) *EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]) *(r[18] + [-2] >= 0 & l[18] + [-2] >= 0 & l[18] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_113 + (-1)Bound*bni_113] + [bni_113]l[18] >= 0 & [(-1)bso_114] >= 0) *COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) *((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_115] = 0 & [(-1)bso_116] >= 0) *((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_115] = 0 & [(-1)bso_116] >= 0) *EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) *(r[6] >= 0 & [-1] + r[6] >= 0 & j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & [bni_117] = 0 & 0 = 0 & [(-1)bni_117 + (-1)Bound*bni_117] >= 0 & [(-1)bso_118] >= 0) *(r[6] >= 0 & [-1] + r[6] >= 0 & j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & [bni_117] = 0 & 0 = 0 & [(-1)bni_117 + (-1)Bound*bni_117] >= 0 & [(-1)bso_118] >= 0) *COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) *(r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & 0 = 0 & [bni_119] = 0 & 0 = 0 & 0 = 0 & [(-1)bni_119 + (-1)Bound*bni_119] >= 0 & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bso_120] >= 0) *EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) *(r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & 0 = 0 & [bni_121] = 0 & 0 = 0 & 0 = 0 & [(-1)bni_121 + (-1)Bound*bni_121] >= 0 & [(-1)bso_122] >= 0) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. Using the following integer polynomial ordering the resulting constraints can be solved Polynomial interpretation over integers[POLO]: POL(TRUE) = 0 POL(FALSE) = [1] POL(COND_EVAL_35(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_4 POL(EVAL_3(x_1, x_2, x_3, x_4, x_5)) = [-1] + x_3 POL(*(x_1, x_2)) = x_1*x_2 POL(2) = [2] POL(&&(x_1, x_2)) = [-1] POL(>=(x_1, x_2)) = [-1] POL(>(x_1, x_2)) = [-1] POL(-(x_1, x_2)) = x_1 + [-1]x_2 POL(1) = [1] POL(COND_EVAL_34(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_4 POL(EVAL_4(x_1, x_2, x_3, x_4, x_5)) = [-1] + x_3 POL(COND_EVAL_33(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_4 POL(+(x_1, x_2)) = x_1 + x_2 POL(COND_EVAL_32(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_4 POL(COND_EVAL_31(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_4 POL(COND_EVAL_41(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_4 POL(EVAL_2(x_1, x_2, x_3, x_4, x_5)) = [-1] + x_3 POL(COND_EVAL_4(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_4 POL(COND_EVAL_3(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_4 POL(COND_EVAL_2(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_4 The following pairs are in P_>: COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19]) -> EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19]) The following pairs are in P_bound: COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) COND_EVAL_4(TRUE, i[19], j[19], l[19], r[19], n[19]) -> EVAL_2(i[19], j[19], -(l[19], 1), r[19], n[19]) EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]) The following pairs are in P_>=: COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(&&(&&(>=(l[18], 2), >=(l[18], 1)), >=(r[18], 2)), i[18], j[18], l[18], r[18], n[18]) COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) There are no usable rules. ---------------------------------------- (8) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Integer, Boolean R is empty. The integer pair graph contains the following rules and edges: (17): COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], 2 * j[17], l[17], r[17], n[17]) (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) (15): COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) (14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(r[14] >= j[14] && j[14] > r[14] - 1, i[14], j[14], l[14], r[14], n[14]) (13): COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(j[13] + 1, 2 * j[13] + 2, l[13], r[13], n[13]) (12): EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1, i[12], j[12], l[12], r[12], n[12]) (11): COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], 2 * j[11], l[11], r[11], n[11]) (10): EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1, i[10], j[10], l[10], r[10], n[10]) (9): COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], j[9] + 1, l[9], r[9], n[9]) (8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(r[8] >= j[8] && r[8] - 1 >= j[8], i[8], j[8], l[8], r[8], n[8]) (21): COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], r[21] - 1, n[21]) (20): EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(2 > l[20] && l[20] >= 1 && r[20] >= 2, i[20], j[20], l[20], r[20], n[20]) (18): EVAL_4(i[18], j[18], l[18], r[18], n[18]) -> COND_EVAL_4(l[18] >= 2 && l[18] >= 1 && r[18] >= 2, i[18], j[18], l[18], r[18], n[18]) (7): COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) (6): EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(r[6] >= j[6] && r[6] - 1 >= j[6], i[6], j[6], l[6], r[6], n[6]) (5): COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], 2 * l[5], l[5], r[5], n[5]) (4): EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(r[4] >= 2, i[4], j[4], l[4], r[4], n[4]) (21) -> (4), if (i[21] ->^* i[4] & j[21] ->^* j[4] & l[21] ->^* l[4] & r[21] - 1 ->^* r[4] & n[21] ->^* n[4]) (4) -> (5), if (r[4] >= 2 & i[4] ->^* i[5] & j[4] ->^* j[5] & l[4] ->^* l[5] & r[4] ->^* r[5] & n[4] ->^* n[5]) (5) -> (6), if (l[5] ->^* i[6] & 2 * l[5] ->^* j[6] & l[5] ->^* l[6] & r[5] ->^* r[6] & n[5] ->^* n[6]) (11) -> (6), if (j[11] ->^* i[6] & 2 * j[11] ->^* j[6] & l[11] ->^* l[6] & r[11] ->^* r[6] & n[11] ->^* n[6]) (13) -> (6), if (j[13] + 1 ->^* i[6] & 2 * j[13] + 2 ->^* j[6] & l[13] ->^* l[6] & r[13] ->^* r[6] & n[13] ->^* n[6]) (17) -> (6), if (j[17] ->^* i[6] & 2 * j[17] ->^* j[6] & l[17] ->^* l[6] & r[17] ->^* r[6] & n[17] ->^* n[6]) (6) -> (7), if (r[6] >= j[6] && r[6] - 1 >= j[6] & i[6] ->^* i[7] & j[6] ->^* j[7] & l[6] ->^* l[7] & r[6] ->^* r[7] & n[6] ->^* n[7]) (5) -> (8), if (l[5] ->^* i[8] & 2 * l[5] ->^* j[8] & l[5] ->^* l[8] & r[5] ->^* r[8] & n[5] ->^* n[8]) (11) -> (8), if (j[11] ->^* i[8] & 2 * j[11] ->^* j[8] & l[11] ->^* l[8] & r[11] ->^* r[8] & n[11] ->^* n[8]) (13) -> (8), if (j[13] + 1 ->^* i[8] & 2 * j[13] + 2 ->^* j[8] & l[13] ->^* l[8] & r[13] ->^* r[8] & n[13] ->^* n[8]) (17) -> (8), if (j[17] ->^* i[8] & 2 * j[17] ->^* j[8] & l[17] ->^* l[8] & r[17] ->^* r[8] & n[17] ->^* n[8]) (8) -> (9), if (r[8] >= j[8] && r[8] - 1 >= j[8] & i[8] ->^* i[9] & j[8] ->^* j[9] & l[8] ->^* l[9] & r[8] ->^* r[9] & n[8] ->^* n[9]) (5) -> (10), if (l[5] ->^* i[10] & 2 * l[5] ->^* j[10] & l[5] ->^* l[10] & r[5] ->^* r[10] & n[5] ->^* n[10]) (11) -> (10), if (j[11] ->^* i[10] & 2 * j[11] ->^* j[10] & l[11] ->^* l[10] & r[11] ->^* r[10] & n[11] ->^* n[10]) (13) -> (10), if (j[13] + 1 ->^* i[10] & 2 * j[13] + 2 ->^* j[10] & l[13] ->^* l[10] & r[13] ->^* r[10] & n[13] ->^* n[10]) (17) -> (10), if (j[17] ->^* i[10] & 2 * j[17] ->^* j[10] & l[17] ->^* l[10] & r[17] ->^* r[10] & n[17] ->^* n[10]) (10) -> (11), if (r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1 & i[10] ->^* i[11] & j[10] ->^* j[11] & l[10] ->^* l[11] & r[10] ->^* r[11] & n[10] ->^* n[11]) (5) -> (12), if (l[5] ->^* i[12] & 2 * l[5] ->^* j[12] & l[5] ->^* l[12] & r[5] ->^* r[12] & n[5] ->^* n[12]) (11) -> (12), if (j[11] ->^* i[12] & 2 * j[11] ->^* j[12] & l[11] ->^* l[12] & r[11] ->^* r[12] & n[11] ->^* n[12]) (13) -> (12), if (j[13] + 1 ->^* i[12] & 2 * j[13] + 2 ->^* j[12] & l[13] ->^* l[12] & r[13] ->^* r[12] & n[13] ->^* n[12]) (17) -> (12), if (j[17] ->^* i[12] & 2 * j[17] ->^* j[12] & l[17] ->^* l[12] & r[17] ->^* r[12] & n[17] ->^* n[12]) (12) -> (13), if (r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1 & i[12] ->^* i[13] & j[12] ->^* j[13] & l[12] ->^* l[13] & r[12] ->^* r[13] & n[12] ->^* n[13]) (5) -> (14), if (l[5] ->^* i[14] & 2 * l[5] ->^* j[14] & l[5] ->^* l[14] & r[5] ->^* r[14] & n[5] ->^* n[14]) (11) -> (14), if (j[11] ->^* i[14] & 2 * j[11] ->^* j[14] & l[11] ->^* l[14] & r[11] ->^* r[14] & n[11] ->^* n[14]) (13) -> (14), if (j[13] + 1 ->^* i[14] & 2 * j[13] + 2 ->^* j[14] & l[13] ->^* l[14] & r[13] ->^* r[14] & n[13] ->^* n[14]) (17) -> (14), if (j[17] ->^* i[14] & 2 * j[17] ->^* j[14] & l[17] ->^* l[14] & r[17] ->^* r[14] & n[17] ->^* n[14]) (14) -> (15), if (r[14] >= j[14] && j[14] > r[14] - 1 & i[14] ->^* i[15] & j[14] ->^* j[15] & l[14] ->^* l[15] & r[14] ->^* r[15] & n[14] ->^* n[15]) (5) -> (16), if (l[5] ->^* i[16] & 2 * l[5] ->^* j[16] & l[5] ->^* l[16] & r[5] ->^* r[16] & n[5] ->^* n[16]) (11) -> (16), if (j[11] ->^* i[16] & 2 * j[11] ->^* j[16] & l[11] ->^* l[16] & r[11] ->^* r[16] & n[11] ->^* n[16]) (13) -> (16), if (j[13] + 1 ->^* i[16] & 2 * j[13] + 2 ->^* j[16] & l[13] ->^* l[16] & r[13] ->^* r[16] & n[13] ->^* n[16]) (17) -> (16), if (j[17] ->^* i[16] & 2 * j[17] ->^* j[16] & l[17] ->^* l[16] & r[17] ->^* r[16] & n[17] ->^* n[16]) (16) -> (17), if (r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1 & i[16] ->^* i[17] & j[16] ->^* j[17] & l[16] ->^* l[17] & r[16] ->^* r[17] & n[16] ->^* n[17]) (7) -> (18), if (i[7] ->^* i[18] & j[7] ->^* j[18] & l[7] ->^* l[18] & r[7] ->^* r[18] & n[7] ->^* n[18]) (9) -> (18), if (i[9] ->^* i[18] & j[9] + 1 ->^* j[18] & l[9] ->^* l[18] & r[9] ->^* r[18] & n[9] ->^* n[18]) (15) -> (18), if (i[15] ->^* i[18] & j[15] ->^* j[18] & l[15] ->^* l[18] & r[15] ->^* r[18] & n[15] ->^* n[18]) (7) -> (20), if (i[7] ->^* i[20] & j[7] ->^* j[20] & l[7] ->^* l[20] & r[7] ->^* r[20] & n[7] ->^* n[20]) (9) -> (20), if (i[9] ->^* i[20] & j[9] + 1 ->^* j[20] & l[9] ->^* l[20] & r[9] ->^* r[20] & n[9] ->^* n[20]) (15) -> (20), if (i[15] ->^* i[20] & j[15] ->^* j[20] & l[15] ->^* l[20] & r[15] ->^* r[20] & n[15] ->^* n[20]) (20) -> (21), if (2 > l[20] && l[20] >= 1 && r[20] >= 2 & i[20] ->^* i[21] & j[20] ->^* j[21] & l[20] ->^* l[21] & r[20] ->^* r[21] & n[20] ->^* n[21]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (9) IDependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (10) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Boolean, Integer R is empty. The integer pair graph contains the following rules and edges: (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) (15): COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) (14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(r[14] >= j[14] && j[14] > r[14] - 1, i[14], j[14], l[14], r[14], n[14]) (13): COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(j[13] + 1, 2 * j[13] + 2, l[13], r[13], n[13]) (12): EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1, i[12], j[12], l[12], r[12], n[12]) (11): COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], 2 * j[11], l[11], r[11], n[11]) (10): EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1, i[10], j[10], l[10], r[10], n[10]) (9): COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], j[9] + 1, l[9], r[9], n[9]) (8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(r[8] >= j[8] && r[8] - 1 >= j[8], i[8], j[8], l[8], r[8], n[8]) (5): COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], 2 * l[5], l[5], r[5], n[5]) (4): EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(r[4] >= 2, i[4], j[4], l[4], r[4], n[4]) (21): COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], r[21] - 1, n[21]) (20): EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(2 > l[20] && l[20] >= 1 && r[20] >= 2, i[20], j[20], l[20], r[20], n[20]) (7): COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) (6): EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(r[6] >= j[6] && r[6] - 1 >= j[6], i[6], j[6], l[6], r[6], n[6]) (17): COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], 2 * j[17], l[17], r[17], n[17]) (21) -> (4), if (i[21] ->^* i[4] & j[21] ->^* j[4] & l[21] ->^* l[4] & r[21] - 1 ->^* r[4] & n[21] ->^* n[4]) (4) -> (5), if (r[4] >= 2 & i[4] ->^* i[5] & j[4] ->^* j[5] & l[4] ->^* l[5] & r[4] ->^* r[5] & n[4] ->^* n[5]) (5) -> (6), if (l[5] ->^* i[6] & 2 * l[5] ->^* j[6] & l[5] ->^* l[6] & r[5] ->^* r[6] & n[5] ->^* n[6]) (11) -> (6), if (j[11] ->^* i[6] & 2 * j[11] ->^* j[6] & l[11] ->^* l[6] & r[11] ->^* r[6] & n[11] ->^* n[6]) (13) -> (6), if (j[13] + 1 ->^* i[6] & 2 * j[13] + 2 ->^* j[6] & l[13] ->^* l[6] & r[13] ->^* r[6] & n[13] ->^* n[6]) (17) -> (6), if (j[17] ->^* i[6] & 2 * j[17] ->^* j[6] & l[17] ->^* l[6] & r[17] ->^* r[6] & n[17] ->^* n[6]) (6) -> (7), if (r[6] >= j[6] && r[6] - 1 >= j[6] & i[6] ->^* i[7] & j[6] ->^* j[7] & l[6] ->^* l[7] & r[6] ->^* r[7] & n[6] ->^* n[7]) (5) -> (8), if (l[5] ->^* i[8] & 2 * l[5] ->^* j[8] & l[5] ->^* l[8] & r[5] ->^* r[8] & n[5] ->^* n[8]) (11) -> (8), if (j[11] ->^* i[8] & 2 * j[11] ->^* j[8] & l[11] ->^* l[8] & r[11] ->^* r[8] & n[11] ->^* n[8]) (13) -> (8), if (j[13] + 1 ->^* i[8] & 2 * j[13] + 2 ->^* j[8] & l[13] ->^* l[8] & r[13] ->^* r[8] & n[13] ->^* n[8]) (17) -> (8), if (j[17] ->^* i[8] & 2 * j[17] ->^* j[8] & l[17] ->^* l[8] & r[17] ->^* r[8] & n[17] ->^* n[8]) (8) -> (9), if (r[8] >= j[8] && r[8] - 1 >= j[8] & i[8] ->^* i[9] & j[8] ->^* j[9] & l[8] ->^* l[9] & r[8] ->^* r[9] & n[8] ->^* n[9]) (5) -> (10), if (l[5] ->^* i[10] & 2 * l[5] ->^* j[10] & l[5] ->^* l[10] & r[5] ->^* r[10] & n[5] ->^* n[10]) (11) -> (10), if (j[11] ->^* i[10] & 2 * j[11] ->^* j[10] & l[11] ->^* l[10] & r[11] ->^* r[10] & n[11] ->^* n[10]) (13) -> (10), if (j[13] + 1 ->^* i[10] & 2 * j[13] + 2 ->^* j[10] & l[13] ->^* l[10] & r[13] ->^* r[10] & n[13] ->^* n[10]) (17) -> (10), if (j[17] ->^* i[10] & 2 * j[17] ->^* j[10] & l[17] ->^* l[10] & r[17] ->^* r[10] & n[17] ->^* n[10]) (10) -> (11), if (r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1 & i[10] ->^* i[11] & j[10] ->^* j[11] & l[10] ->^* l[11] & r[10] ->^* r[11] & n[10] ->^* n[11]) (5) -> (12), if (l[5] ->^* i[12] & 2 * l[5] ->^* j[12] & l[5] ->^* l[12] & r[5] ->^* r[12] & n[5] ->^* n[12]) (11) -> (12), if (j[11] ->^* i[12] & 2 * j[11] ->^* j[12] & l[11] ->^* l[12] & r[11] ->^* r[12] & n[11] ->^* n[12]) (13) -> (12), if (j[13] + 1 ->^* i[12] & 2 * j[13] + 2 ->^* j[12] & l[13] ->^* l[12] & r[13] ->^* r[12] & n[13] ->^* n[12]) (17) -> (12), if (j[17] ->^* i[12] & 2 * j[17] ->^* j[12] & l[17] ->^* l[12] & r[17] ->^* r[12] & n[17] ->^* n[12]) (12) -> (13), if (r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1 & i[12] ->^* i[13] & j[12] ->^* j[13] & l[12] ->^* l[13] & r[12] ->^* r[13] & n[12] ->^* n[13]) (5) -> (14), if (l[5] ->^* i[14] & 2 * l[5] ->^* j[14] & l[5] ->^* l[14] & r[5] ->^* r[14] & n[5] ->^* n[14]) (11) -> (14), if (j[11] ->^* i[14] & 2 * j[11] ->^* j[14] & l[11] ->^* l[14] & r[11] ->^* r[14] & n[11] ->^* n[14]) (13) -> (14), if (j[13] + 1 ->^* i[14] & 2 * j[13] + 2 ->^* j[14] & l[13] ->^* l[14] & r[13] ->^* r[14] & n[13] ->^* n[14]) (17) -> (14), if (j[17] ->^* i[14] & 2 * j[17] ->^* j[14] & l[17] ->^* l[14] & r[17] ->^* r[14] & n[17] ->^* n[14]) (14) -> (15), if (r[14] >= j[14] && j[14] > r[14] - 1 & i[14] ->^* i[15] & j[14] ->^* j[15] & l[14] ->^* l[15] & r[14] ->^* r[15] & n[14] ->^* n[15]) (5) -> (16), if (l[5] ->^* i[16] & 2 * l[5] ->^* j[16] & l[5] ->^* l[16] & r[5] ->^* r[16] & n[5] ->^* n[16]) (11) -> (16), if (j[11] ->^* i[16] & 2 * j[11] ->^* j[16] & l[11] ->^* l[16] & r[11] ->^* r[16] & n[11] ->^* n[16]) (13) -> (16), if (j[13] + 1 ->^* i[16] & 2 * j[13] + 2 ->^* j[16] & l[13] ->^* l[16] & r[13] ->^* r[16] & n[13] ->^* n[16]) (17) -> (16), if (j[17] ->^* i[16] & 2 * j[17] ->^* j[16] & l[17] ->^* l[16] & r[17] ->^* r[16] & n[17] ->^* n[16]) (16) -> (17), if (r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1 & i[16] ->^* i[17] & j[16] ->^* j[17] & l[16] ->^* l[17] & r[16] ->^* r[17] & n[16] ->^* n[17]) (7) -> (20), if (i[7] ->^* i[20] & j[7] ->^* j[20] & l[7] ->^* l[20] & r[7] ->^* r[20] & n[7] ->^* n[20]) (9) -> (20), if (i[9] ->^* i[20] & j[9] + 1 ->^* j[20] & l[9] ->^* l[20] & r[9] ->^* r[20] & n[9] ->^* n[20]) (15) -> (20), if (i[15] ->^* i[20] & j[15] ->^* j[20] & l[15] ->^* l[20] & r[15] ->^* r[20] & n[15] ->^* n[20]) (20) -> (21), if (2 > l[20] && l[20] >= 1 && r[20] >= 2 & i[20] ->^* i[21] & j[20] ->^* j[21] & l[20] ->^* l[21] & r[20] ->^* r[21] & n[20] ->^* n[21]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (11) IDPNonInfProof (SOUND) Used the following options for this NonInfProof: IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@106f4543 Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1 The constraints were generated the following way: The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: Note that final constraints are written in bold face. For Pair EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) the following chains were created: *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] ==> EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) & (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) & (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)bni_80 + (-1)Bound*bni_80] + [bni_80]r[16] >= 0 & [(-1)bso_81] + r[16] + [-1]j[16] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)bni_80 + (-1)Bound*bni_80] + [bni_80]r[16] >= 0 & [(-1)bso_81] + r[16] + [-1]j[16] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)bni_80 + (-1)Bound*bni_80] + [bni_80]r[16] >= 0 & [(-1)bso_81] + r[16] + [-1]j[16] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_80 + (-1)Bound*bni_80] + [bni_80]r[16] >= 0 & [(-1)bso_81] + r[16] + [-1]j[16] >= 0) For Pair COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) the following chains were created: *We consider the chain COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]), EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) which results in the following constraint: (1) (i[15]=i[20] & j[15]=j[20] & l[15]=l[20] & r[15]=r[20] & n[15]=n[20] ==> COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_NonInfC & COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_EVAL_4(i[15], j[15], l[15], r[15], n[15]) & (U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=)) We simplified constraint (1) using rule (IV) which results in the following new constraint: (2) (COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_NonInfC & COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15])_>=_EVAL_4(i[15], j[15], l[15], r[15], n[15]) & (U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) ((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_82] = 0 & [(-1)bso_83] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) ((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_82] = 0 & [(-1)bso_83] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) ((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_82] = 0 & [(-1)bso_83] >= 0) For Pair EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) the following chains were created: *We consider the chain EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]), COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) which results in the following constraint: (1) (&&(>=(r[14], j[14]), >(j[14], -(r[14], 1)))=TRUE & i[14]=i[15] & j[14]=j[15] & l[14]=l[15] & r[14]=r[15] & n[14]=n[15] ==> EVAL_3(i[14], j[14], l[14], r[14], n[14])_>=_NonInfC & EVAL_3(i[14], j[14], l[14], r[14], n[14])_>=_COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) & (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[14], j[14])=TRUE & >(j[14], -(r[14], 1))=TRUE ==> EVAL_3(i[14], j[14], l[14], r[14], n[14])_>=_NonInfC & EVAL_3(i[14], j[14], l[14], r[14], n[14])_>=_COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) & (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[14] + [-1]j[14] >= 0 & j[14] + [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & [(-1)bni_84 + (-1)Bound*bni_84] + [bni_84]r[14] >= 0 & [(-1)bso_85] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[14] + [-1]j[14] >= 0 & j[14] + [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & [(-1)bni_84 + (-1)Bound*bni_84] + [bni_84]r[14] >= 0 & [(-1)bso_85] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[14] + [-1]j[14] >= 0 & j[14] + [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & [(-1)bni_84 + (-1)Bound*bni_84] + [bni_84]r[14] >= 0 & [(-1)bso_85] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[14] + [-1]j[14] >= 0 & j[14] + [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_84 + (-1)Bound*bni_84] + [bni_84]r[14] >= 0 & [(-1)bso_85] >= 0) We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (7) (r[14] >= 0 & [-1]r[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_84 + (-1)Bound*bni_84] + [bni_84]j[14] + [bni_84]r[14] >= 0 & [(-1)bso_85] >= 0) We simplified constraint (7) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (8) (0 >= 0 & 0 >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_84 + (-1)Bound*bni_84] + [bni_84]j[14] >= 0 & [(-1)bso_85] >= 0) We simplified constraint (8) using rule (IDP_SMT_SPLIT) which results in the following new constraints: (9) (0 >= 0 & 0 >= 0 & j[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_84 + (-1)Bound*bni_84] + [bni_84]j[14] >= 0 & [(-1)bso_85] >= 0) (10) (0 >= 0 & 0 >= 0 & j[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_84 + (-1)Bound*bni_84] + [(-1)bni_84]j[14] >= 0 & [(-1)bso_85] >= 0) For Pair COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) the following chains were created: *We consider the chain EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]), COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) which results in the following constraint: (1) (&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1))=TRUE & i[12]=i[13] & j[12]=j[13] & l[12]=l[13] & r[12]=r[13] & n[12]=n[13] ==> COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_NonInfC & COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (1) using rules (III), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[12], 1)=TRUE & >=(r[12], j[12])=TRUE & >=(-(r[12], 1), j[12])=TRUE ==> COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_EVAL_3(+(j[12], 1), +(*(2, j[12]), 2), l[12], r[12], n[12]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_86 + (-1)Bound*bni_86] + [bni_86]r[12] >= 0 & [(-1)bso_87] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_86 + (-1)Bound*bni_86] + [bni_86]r[12] >= 0 & [(-1)bso_87] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_86 + (-1)Bound*bni_86] + [bni_86]r[12] >= 0 & [(-1)bso_87] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_86 + (-1)Bound*bni_86] + [bni_86]r[12] >= 0 & 0 = 0 & [(-1)bso_87] >= 0) For Pair EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) the following chains were created: *We consider the chain EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]), COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) which results in the following constraint: (1) (&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1))=TRUE & i[12]=i[13] & j[12]=j[13] & l[12]=l[13] & r[12]=r[13] & n[12]=n[13] ==> EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) & (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[12], 1)=TRUE & >=(r[12], j[12])=TRUE & >=(-(r[12], 1), j[12])=TRUE ==> EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) & (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & [(-1)bni_88 + (-1)Bound*bni_88] + [bni_88]r[12] >= 0 & [(-1)bso_89] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & [(-1)bni_88 + (-1)Bound*bni_88] + [bni_88]r[12] >= 0 & [(-1)bso_89] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & [(-1)bni_88 + (-1)Bound*bni_88] + [bni_88]r[12] >= 0 & [(-1)bso_89] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_88 + (-1)Bound*bni_88] + [bni_88]r[12] >= 0 & [(-1)bso_89] >= 0) For Pair COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) the following chains were created: *We consider the chain EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]), COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) which results in the following constraint: (1) (&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1))=TRUE & i[10]=i[11] & j[10]=j[11] & l[10]=l[11] & r[10]=r[11] & n[10]=n[11] ==> COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_NonInfC & COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (1) using rules (III), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[10], 1)=TRUE & >=(r[10], j[10])=TRUE & >=(-(r[10], 1), j[10])=TRUE ==> COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_EVAL_3(j[10], *(2, j[10]), l[10], r[10], n[10]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)bni_90 + (-1)Bound*bni_90] + [bni_90]r[10] >= 0 & [(-1)bso_91] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)bni_90 + (-1)Bound*bni_90] + [bni_90]r[10] >= 0 & [(-1)bso_91] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)bni_90 + (-1)Bound*bni_90] + [bni_90]r[10] >= 0 & [(-1)bso_91] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_90 + (-1)Bound*bni_90] + [bni_90]r[10] >= 0 & 0 = 0 & [(-1)bso_91] >= 0) For Pair EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) the following chains were created: *We consider the chain EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]), COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) which results in the following constraint: (1) (&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1))=TRUE & i[10]=i[11] & j[10]=j[11] & l[10]=l[11] & r[10]=r[11] & n[10]=n[11] ==> EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) & (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[10], 1)=TRUE & >=(r[10], j[10])=TRUE & >=(-(r[10], 1), j[10])=TRUE ==> EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) & (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & [(-1)bni_92 + (-1)Bound*bni_92] + [bni_92]r[10] >= 0 & [(-1)bso_93] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & [(-1)bni_92 + (-1)Bound*bni_92] + [bni_92]r[10] >= 0 & [(-1)bso_93] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & [(-1)bni_92 + (-1)Bound*bni_92] + [bni_92]r[10] >= 0 & [(-1)bso_93] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_92 + (-1)Bound*bni_92] + [bni_92]r[10] >= 0 & [(-1)bso_93] >= 0) For Pair COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) the following chains were created: *We consider the chain EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]), COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]), EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) which results in the following constraint: (1) (&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8]))=TRUE & i[8]=i[9] & j[8]=j[9] & l[8]=l[9] & r[8]=r[9] & n[8]=n[9] & i[9]=i[20] & +(j[9], 1)=j[20] & l[9]=l[20] & r[9]=r[20] & n[9]=n[20] ==> COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9])_>=_NonInfC & COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9])_>=_EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) & (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[8], j[8])=TRUE & >=(-(r[8], 1), j[8])=TRUE ==> COND_EVAL_31(TRUE, i[8], j[8], l[8], r[8], n[8])_>=_NonInfC & COND_EVAL_31(TRUE, i[8], j[8], l[8], r[8], n[8])_>=_EVAL_4(i[8], +(j[8], 1), l[8], r[8], n[8]) & (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & [(-1)bni_94 + (-1)Bound*bni_94] + [bni_94]r[8] >= 0 & [(-1)bso_95] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & [(-1)bni_94 + (-1)Bound*bni_94] + [bni_94]r[8] >= 0 & [(-1)bso_95] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & [(-1)bni_94 + (-1)Bound*bni_94] + [bni_94]r[8] >= 0 & [(-1)bso_95] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_94 + (-1)Bound*bni_94] + [bni_94]r[8] >= 0 & [(-1)bso_95] >= 0) We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (7) (r[8] >= 0 & [-1] + r[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_94 + (-1)Bound*bni_94] + [bni_94]j[8] + [bni_94]r[8] >= 0 & [(-1)bso_95] >= 0) We simplified constraint (7) using rule (IDP_SMT_SPLIT) which results in the following new constraints: (8) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_94 + (-1)Bound*bni_94] + [(-1)bni_94]j[8] + [bni_94]r[8] >= 0 & [(-1)bso_95] >= 0) (9) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_94 + (-1)Bound*bni_94] + [bni_94]j[8] + [bni_94]r[8] >= 0 & [(-1)bso_95] >= 0) For Pair EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) the following chains were created: *We consider the chain EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]), COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) which results in the following constraint: (1) (&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8]))=TRUE & i[8]=i[9] & j[8]=j[9] & l[8]=l[9] & r[8]=r[9] & n[8]=n[9] ==> EVAL_3(i[8], j[8], l[8], r[8], n[8])_>=_NonInfC & EVAL_3(i[8], j[8], l[8], r[8], n[8])_>=_COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) & (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[8], j[8])=TRUE & >=(-(r[8], 1), j[8])=TRUE ==> EVAL_3(i[8], j[8], l[8], r[8], n[8])_>=_NonInfC & EVAL_3(i[8], j[8], l[8], r[8], n[8])_>=_COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) & (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & [(-1)bni_96 + (-1)Bound*bni_96] + [bni_96]r[8] >= 0 & [(-1)bso_97] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & [(-1)bni_96 + (-1)Bound*bni_96] + [bni_96]r[8] >= 0 & [(-1)bso_97] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & [(-1)bni_96 + (-1)Bound*bni_96] + [bni_96]r[8] >= 0 & [(-1)bso_97] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[8] + [-1]j[8] >= 0 & r[8] + [-1] + [-1]j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_96 + (-1)Bound*bni_96] + [bni_96]r[8] >= 0 & [(-1)bso_97] >= 0) We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (7) (r[8] >= 0 & [-1] + r[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_96 + (-1)Bound*bni_96] + [bni_96]j[8] + [bni_96]r[8] >= 0 & [(-1)bso_97] >= 0) We simplified constraint (7) using rule (IDP_SMT_SPLIT) which results in the following new constraints: (8) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_96 + (-1)Bound*bni_96] + [(-1)bni_96]j[8] + [bni_96]r[8] >= 0 & [(-1)bso_97] >= 0) (9) (r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_96 + (-1)Bound*bni_96] + [bni_96]j[8] + [bni_96]r[8] >= 0 & [(-1)bso_97] >= 0) For Pair COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) the following chains were created: *We consider the chain EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]), COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) which results in the following constraint: (1) (>=(r[4], 2)=TRUE & i[4]=i[5] & j[4]=j[5] & l[4]=l[5] & r[4]=r[5] & n[4]=n[5] ==> COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5])_>=_NonInfC & COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5])_>=_EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) & (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=)) We simplified constraint (1) using rule (III) which results in the following new constraint: (2) (>=(r[4], 2)=TRUE ==> COND_EVAL_2(TRUE, i[4], j[4], l[4], r[4], n[4])_>=_NonInfC & COND_EVAL_2(TRUE, i[4], j[4], l[4], r[4], n[4])_>=_EVAL_3(l[4], *(2, l[4]), l[4], r[4], n[4]) & (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & [(-1)bni_98 + (-1)Bound*bni_98] + [bni_98]r[4] >= 0 & [(-1)bso_99] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & [(-1)bni_98 + (-1)Bound*bni_98] + [bni_98]r[4] >= 0 & [(-1)bso_99] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & [(-1)bni_98 + (-1)Bound*bni_98] + [bni_98]r[4] >= 0 & [(-1)bso_99] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_98 + (-1)Bound*bni_98] + [bni_98]r[4] >= 0 & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bso_99] >= 0) For Pair EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) the following chains were created: *We consider the chain EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]), COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) which results in the following constraint: (1) (>=(r[4], 2)=TRUE & i[4]=i[5] & j[4]=j[5] & l[4]=l[5] & r[4]=r[5] & n[4]=n[5] ==> EVAL_2(i[4], j[4], l[4], r[4], n[4])_>=_NonInfC & EVAL_2(i[4], j[4], l[4], r[4], n[4])_>=_COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) & (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=)) We simplified constraint (1) using rule (IV) which results in the following new constraint: (2) (>=(r[4], 2)=TRUE ==> EVAL_2(i[4], j[4], l[4], r[4], n[4])_>=_NonInfC & EVAL_2(i[4], j[4], l[4], r[4], n[4])_>=_COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) & (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & [(-1)bni_100 + (-1)Bound*bni_100] + [bni_100]r[4] >= 0 & [(-1)bso_101] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & [(-1)bni_100 + (-1)Bound*bni_100] + [bni_100]r[4] >= 0 & [(-1)bso_101] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & [(-1)bni_100 + (-1)Bound*bni_100] + [bni_100]r[4] >= 0 & [(-1)bso_101] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_100 + (-1)Bound*bni_100] + [bni_100]r[4] >= 0 & [(-1)bso_101] >= 0) For Pair COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) the following chains were created: *We consider the chain EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]), COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]), EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) which results in the following constraint: (1) (&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2))=TRUE & i[20]=i[21] & j[20]=j[21] & l[20]=l[21] & r[20]=r[21] & n[20]=n[21] & i[21]=i[4] & j[21]=j[4] & l[21]=l[4] & -(r[21], 1)=r[4] & n[21]=n[4] ==> COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21])_>=_NonInfC & COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21])_>=_EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) & (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[20], 2)=TRUE & >(2, l[20])=TRUE & >=(l[20], 1)=TRUE ==> COND_EVAL_41(TRUE, i[20], j[20], l[20], r[20], n[20])_>=_NonInfC & COND_EVAL_41(TRUE, i[20], j[20], l[20], r[20], n[20])_>=_EVAL_2(i[20], j[20], l[20], -(r[20], 1), n[20]) & (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & [(-1)bni_102 + (-1)Bound*bni_102] + [bni_102]r[20] + [(-1)bni_102]l[20] >= 0 & [1 + (-1)bso_103] + [-1]l[20] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & [(-1)bni_102 + (-1)Bound*bni_102] + [bni_102]r[20] + [(-1)bni_102]l[20] >= 0 & [1 + (-1)bso_103] + [-1]l[20] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & [(-1)bni_102 + (-1)Bound*bni_102] + [bni_102]r[20] + [(-1)bni_102]l[20] >= 0 & [1 + (-1)bso_103] + [-1]l[20] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_102 + (-1)Bound*bni_102] + [bni_102]r[20] + [(-1)bni_102]l[20] >= 0 & [1 + (-1)bso_103] + [-1]l[20] >= 0) For Pair EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) the following chains were created: *We consider the chain EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]), COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) which results in the following constraint: (1) (&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2))=TRUE & i[20]=i[21] & j[20]=j[21] & l[20]=l[21] & r[20]=r[21] & n[20]=n[21] ==> EVAL_4(i[20], j[20], l[20], r[20], n[20])_>=_NonInfC & EVAL_4(i[20], j[20], l[20], r[20], n[20])_>=_COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) & (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[20], 2)=TRUE & >(2, l[20])=TRUE & >=(l[20], 1)=TRUE ==> EVAL_4(i[20], j[20], l[20], r[20], n[20])_>=_NonInfC & EVAL_4(i[20], j[20], l[20], r[20], n[20])_>=_COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) & (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & [(-1)bni_104 + (-1)Bound*bni_104] + [bni_104]r[20] >= 0 & [(-1)bso_105] + l[20] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & [(-1)bni_104 + (-1)Bound*bni_104] + [bni_104]r[20] >= 0 & [(-1)bso_105] + l[20] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & [(-1)bni_104 + (-1)Bound*bni_104] + [bni_104]r[20] >= 0 & [(-1)bso_105] + l[20] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_104 + (-1)Bound*bni_104] + [bni_104]r[20] >= 0 & [(-1)bso_105] + l[20] >= 0) For Pair COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) the following chains were created: *We consider the chain COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]), EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) which results in the following constraint: (1) (i[7]=i[20] & j[7]=j[20] & l[7]=l[20] & r[7]=r[20] & n[7]=n[20] ==> COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_NonInfC & COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_EVAL_4(i[7], j[7], l[7], r[7], n[7]) & (U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=)) We simplified constraint (1) using rule (IV) which results in the following new constraint: (2) (COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_NonInfC & COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7])_>=_EVAL_4(i[7], j[7], l[7], r[7], n[7]) & (U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) ((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_106] = 0 & [(-1)bso_107] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) ((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_106] = 0 & [(-1)bso_107] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) ((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_106] = 0 & [(-1)bso_107] >= 0) For Pair EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) the following chains were created: *We consider the chain EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]), COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) which results in the following constraint: (1) (&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6]))=TRUE & i[6]=i[7] & j[6]=j[7] & l[6]=l[7] & r[6]=r[7] & n[6]=n[7] ==> EVAL_3(i[6], j[6], l[6], r[6], n[6])_>=_NonInfC & EVAL_3(i[6], j[6], l[6], r[6], n[6])_>=_COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) & (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(r[6], j[6])=TRUE & >=(-(r[6], 1), j[6])=TRUE ==> EVAL_3(i[6], j[6], l[6], r[6], n[6])_>=_NonInfC & EVAL_3(i[6], j[6], l[6], r[6], n[6])_>=_COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) & (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (r[6] + [-1]j[6] >= 0 & r[6] + [-1] + [-1]j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & [(-1)bni_108 + (-1)Bound*bni_108] + [bni_108]r[6] >= 0 & [(-1)bso_109] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (r[6] + [-1]j[6] >= 0 & r[6] + [-1] + [-1]j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & [(-1)bni_108 + (-1)Bound*bni_108] + [bni_108]r[6] >= 0 & [(-1)bso_109] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (r[6] + [-1]j[6] >= 0 & r[6] + [-1] + [-1]j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & [(-1)bni_108 + (-1)Bound*bni_108] + [bni_108]r[6] >= 0 & [(-1)bso_109] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (r[6] + [-1]j[6] >= 0 & r[6] + [-1] + [-1]j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_108 + (-1)Bound*bni_108] + [bni_108]r[6] >= 0 & [(-1)bso_109] >= 0) We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint: (7) (r[6] >= 0 & [-1] + r[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_108 + (-1)Bound*bni_108] + [bni_108]j[6] + [bni_108]r[6] >= 0 & [(-1)bso_109] >= 0) We simplified constraint (7) using rule (IDP_SMT_SPLIT) which results in the following new constraints: (8) (r[6] >= 0 & [-1] + r[6] >= 0 & j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_108 + (-1)Bound*bni_108] + [(-1)bni_108]j[6] + [bni_108]r[6] >= 0 & [(-1)bso_109] >= 0) (9) (r[6] >= 0 & [-1] + r[6] >= 0 & j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_108 + (-1)Bound*bni_108] + [bni_108]j[6] + [bni_108]r[6] >= 0 & [(-1)bso_109] >= 0) For Pair COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) the following chains were created: *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] ==> COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_NonInfC & COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (1) using rules (III), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_EVAL_3(j[16], *(2, j[16]), l[16], r[16], n[16]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)bni_110 + (-1)Bound*bni_110] + [bni_110]j[16] >= 0 & [(-1)bso_111] + [-1]r[16] + j[16] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)bni_110 + (-1)Bound*bni_110] + [bni_110]j[16] >= 0 & [(-1)bso_111] + [-1]r[16] + j[16] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)bni_110 + (-1)Bound*bni_110] + [bni_110]j[16] >= 0 & [(-1)bso_111] + [-1]r[16] + j[16] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_110 + (-1)Bound*bni_110] + [bni_110]j[16] >= 0 & 0 = 0 & [(-1)bso_111] + [-1]r[16] + j[16] >= 0) To summarize, we get the following constraints P__>=_ for the following pairs. *EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_80 + (-1)Bound*bni_80] + [bni_80]r[16] >= 0 & [(-1)bso_81] + r[16] + [-1]j[16] >= 0) *COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) *((U^Increasing(EVAL_4(i[15], j[15], l[15], r[15], n[15])), >=) & [bni_82] = 0 & [(-1)bso_83] >= 0) *EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) *(0 >= 0 & 0 >= 0 & j[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_84 + (-1)Bound*bni_84] + [bni_84]j[14] >= 0 & [(-1)bso_85] >= 0) *(0 >= 0 & 0 >= 0 & j[14] >= 0 ==> (U^Increasing(COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_84 + (-1)Bound*bni_84] + [(-1)bni_84]j[14] >= 0 & [(-1)bso_85] >= 0) *COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) *(j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_86 + (-1)Bound*bni_86] + [bni_86]r[12] >= 0 & 0 = 0 & [(-1)bso_87] >= 0) *EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) *(j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_88 + (-1)Bound*bni_88] + [bni_88]r[12] >= 0 & [(-1)bso_89] >= 0) *COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) *(j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_90 + (-1)Bound*bni_90] + [bni_90]r[10] >= 0 & 0 = 0 & [(-1)bso_91] >= 0) *EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) *(j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_92 + (-1)Bound*bni_92] + [bni_92]r[10] >= 0 & [(-1)bso_93] >= 0) *COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_94 + (-1)Bound*bni_94] + [(-1)bni_94]j[8] + [bni_94]r[8] >= 0 & [(-1)bso_95] >= 0) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_94 + (-1)Bound*bni_94] + [bni_94]j[8] + [bni_94]r[8] >= 0 & [(-1)bso_95] >= 0) *EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_96 + (-1)Bound*bni_96] + [(-1)bni_96]j[8] + [bni_96]r[8] >= 0 & [(-1)bso_97] >= 0) *(r[8] >= 0 & [-1] + r[8] >= 0 & j[8] >= 0 ==> (U^Increasing(COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_96 + (-1)Bound*bni_96] + [bni_96]j[8] + [bni_96]r[8] >= 0 & [(-1)bso_97] >= 0) *COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) *(r[4] + [-2] >= 0 ==> (U^Increasing(EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_98 + (-1)Bound*bni_98] + [bni_98]r[4] >= 0 & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bso_99] >= 0) *EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) *(r[4] + [-2] >= 0 ==> (U^Increasing(COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_100 + (-1)Bound*bni_100] + [bni_100]r[4] >= 0 & [(-1)bso_101] >= 0) *COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) *(r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_102 + (-1)Bound*bni_102] + [bni_102]r[20] + [(-1)bni_102]l[20] >= 0 & [1 + (-1)bso_103] + [-1]l[20] >= 0) *EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) *(r[20] + [-2] >= 0 & [1] + [-1]l[20] >= 0 & l[20] + [-1] >= 0 ==> (U^Increasing(COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_104 + (-1)Bound*bni_104] + [bni_104]r[20] >= 0 & [(-1)bso_105] + l[20] >= 0) *COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) *((U^Increasing(EVAL_4(i[7], j[7], l[7], r[7], n[7])), >=) & [bni_106] = 0 & [(-1)bso_107] >= 0) *EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) *(r[6] >= 0 & [-1] + r[6] >= 0 & j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_108 + (-1)Bound*bni_108] + [(-1)bni_108]j[6] + [bni_108]r[6] >= 0 & [(-1)bso_109] >= 0) *(r[6] >= 0 & [-1] + r[6] >= 0 & j[6] >= 0 ==> (U^Increasing(COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_108 + (-1)Bound*bni_108] + [bni_108]j[6] + [bni_108]r[6] >= 0 & [(-1)bso_109] >= 0) *COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_110 + (-1)Bound*bni_110] + [bni_110]j[16] >= 0 & 0 = 0 & [(-1)bso_111] + [-1]r[16] + j[16] >= 0) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. Using the following integer polynomial ordering the resulting constraints can be solved Polynomial interpretation over integers[POLO]: POL(TRUE) = 0 POL(FALSE) = [1] POL(EVAL_3(x_1, x_2, x_3, x_4, x_5)) = [-1] + x_4 POL(COND_EVAL_35(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_3 POL(&&(x_1, x_2)) = [-1] POL(>=(x_1, x_2)) = 0 POL(>(x_1, x_2)) = [-1] POL(-(x_1, x_2)) = x_1 + [-1]x_2 POL(1) = [1] POL(COND_EVAL_34(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_5 POL(EVAL_4(x_1, x_2, x_3, x_4, x_5)) = [-1] + x_4 POL(COND_EVAL_33(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_5 POL(+(x_1, x_2)) = x_1 + x_2 POL(*(x_1, x_2)) = x_1*x_2 POL(2) = [2] POL(COND_EVAL_32(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_5 POL(COND_EVAL_31(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_5 POL(COND_EVAL_2(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_5 POL(EVAL_2(x_1, x_2, x_3, x_4, x_5)) = [-1] + x_4 POL(COND_EVAL_41(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_5 + [-1]x_4 POL(COND_EVAL_3(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_5 The following pairs are in P_>: EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) The following pairs are in P_bound: EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) EVAL_4(i[20], j[20], l[20], r[20], n[20]) -> COND_EVAL_41(&&(&&(>(2, l[20]), >=(l[20], 1)), >=(r[20], 2)), i[20], j[20], l[20], r[20], n[20]) COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) The following pairs are in P_>=: EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(&&(>=(r[14], j[14]), >(j[14], -(r[14], 1))), i[14], j[14], l[14], r[14], n[14]) COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], +(j[9], 1), l[9], r[9], n[9]) EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(&&(>=(r[8], j[8]), >=(-(r[8], 1), j[8])), i[8], j[8], l[8], r[8], n[8]) COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], *(2, l[5]), l[5], r[5], n[5]) EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(>=(r[4], 2), i[4], j[4], l[4], r[4], n[4]) COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], -(r[21], 1), n[21]) COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(&&(>=(r[6], j[6]), >=(-(r[6], 1), j[6])), i[6], j[6], l[6], r[6], n[6]) COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) At least the following rules have been oriented under context sensitive arithmetic replacement: FALSE^1 -> &&(TRUE, FALSE)^1 FALSE^1 -> &&(FALSE, TRUE)^1 FALSE^1 -> &&(FALSE, FALSE)^1 ---------------------------------------- (12) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Boolean, Integer R is empty. The integer pair graph contains the following rules and edges: (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) (15): COND_EVAL_34(TRUE, i[15], j[15], l[15], r[15], n[15]) -> EVAL_4(i[15], j[15], l[15], r[15], n[15]) (14): EVAL_3(i[14], j[14], l[14], r[14], n[14]) -> COND_EVAL_34(r[14] >= j[14] && j[14] > r[14] - 1, i[14], j[14], l[14], r[14], n[14]) (13): COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(j[13] + 1, 2 * j[13] + 2, l[13], r[13], n[13]) (12): EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1, i[12], j[12], l[12], r[12], n[12]) (11): COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], 2 * j[11], l[11], r[11], n[11]) (10): EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1, i[10], j[10], l[10], r[10], n[10]) (9): COND_EVAL_31(TRUE, i[9], j[9], l[9], r[9], n[9]) -> EVAL_4(i[9], j[9] + 1, l[9], r[9], n[9]) (8): EVAL_3(i[8], j[8], l[8], r[8], n[8]) -> COND_EVAL_31(r[8] >= j[8] && r[8] - 1 >= j[8], i[8], j[8], l[8], r[8], n[8]) (5): COND_EVAL_2(TRUE, i[5], j[5], l[5], r[5], n[5]) -> EVAL_3(l[5], 2 * l[5], l[5], r[5], n[5]) (4): EVAL_2(i[4], j[4], l[4], r[4], n[4]) -> COND_EVAL_2(r[4] >= 2, i[4], j[4], l[4], r[4], n[4]) (21): COND_EVAL_41(TRUE, i[21], j[21], l[21], r[21], n[21]) -> EVAL_2(i[21], j[21], l[21], r[21] - 1, n[21]) (7): COND_EVAL_3(TRUE, i[7], j[7], l[7], r[7], n[7]) -> EVAL_4(i[7], j[7], l[7], r[7], n[7]) (6): EVAL_3(i[6], j[6], l[6], r[6], n[6]) -> COND_EVAL_3(r[6] >= j[6] && r[6] - 1 >= j[6], i[6], j[6], l[6], r[6], n[6]) (17): COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], 2 * j[17], l[17], r[17], n[17]) (21) -> (4), if (i[21] ->^* i[4] & j[21] ->^* j[4] & l[21] ->^* l[4] & r[21] - 1 ->^* r[4] & n[21] ->^* n[4]) (4) -> (5), if (r[4] >= 2 & i[4] ->^* i[5] & j[4] ->^* j[5] & l[4] ->^* l[5] & r[4] ->^* r[5] & n[4] ->^* n[5]) (5) -> (6), if (l[5] ->^* i[6] & 2 * l[5] ->^* j[6] & l[5] ->^* l[6] & r[5] ->^* r[6] & n[5] ->^* n[6]) (11) -> (6), if (j[11] ->^* i[6] & 2 * j[11] ->^* j[6] & l[11] ->^* l[6] & r[11] ->^* r[6] & n[11] ->^* n[6]) (13) -> (6), if (j[13] + 1 ->^* i[6] & 2 * j[13] + 2 ->^* j[6] & l[13] ->^* l[6] & r[13] ->^* r[6] & n[13] ->^* n[6]) (17) -> (6), if (j[17] ->^* i[6] & 2 * j[17] ->^* j[6] & l[17] ->^* l[6] & r[17] ->^* r[6] & n[17] ->^* n[6]) (6) -> (7), if (r[6] >= j[6] && r[6] - 1 >= j[6] & i[6] ->^* i[7] & j[6] ->^* j[7] & l[6] ->^* l[7] & r[6] ->^* r[7] & n[6] ->^* n[7]) (5) -> (8), if (l[5] ->^* i[8] & 2 * l[5] ->^* j[8] & l[5] ->^* l[8] & r[5] ->^* r[8] & n[5] ->^* n[8]) (11) -> (8), if (j[11] ->^* i[8] & 2 * j[11] ->^* j[8] & l[11] ->^* l[8] & r[11] ->^* r[8] & n[11] ->^* n[8]) (13) -> (8), if (j[13] + 1 ->^* i[8] & 2 * j[13] + 2 ->^* j[8] & l[13] ->^* l[8] & r[13] ->^* r[8] & n[13] ->^* n[8]) (17) -> (8), if (j[17] ->^* i[8] & 2 * j[17] ->^* j[8] & l[17] ->^* l[8] & r[17] ->^* r[8] & n[17] ->^* n[8]) (8) -> (9), if (r[8] >= j[8] && r[8] - 1 >= j[8] & i[8] ->^* i[9] & j[8] ->^* j[9] & l[8] ->^* l[9] & r[8] ->^* r[9] & n[8] ->^* n[9]) (5) -> (10), if (l[5] ->^* i[10] & 2 * l[5] ->^* j[10] & l[5] ->^* l[10] & r[5] ->^* r[10] & n[5] ->^* n[10]) (11) -> (10), if (j[11] ->^* i[10] & 2 * j[11] ->^* j[10] & l[11] ->^* l[10] & r[11] ->^* r[10] & n[11] ->^* n[10]) (13) -> (10), if (j[13] + 1 ->^* i[10] & 2 * j[13] + 2 ->^* j[10] & l[13] ->^* l[10] & r[13] ->^* r[10] & n[13] ->^* n[10]) (17) -> (10), if (j[17] ->^* i[10] & 2 * j[17] ->^* j[10] & l[17] ->^* l[10] & r[17] ->^* r[10] & n[17] ->^* n[10]) (10) -> (11), if (r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1 & i[10] ->^* i[11] & j[10] ->^* j[11] & l[10] ->^* l[11] & r[10] ->^* r[11] & n[10] ->^* n[11]) (5) -> (12), if (l[5] ->^* i[12] & 2 * l[5] ->^* j[12] & l[5] ->^* l[12] & r[5] ->^* r[12] & n[5] ->^* n[12]) (11) -> (12), if (j[11] ->^* i[12] & 2 * j[11] ->^* j[12] & l[11] ->^* l[12] & r[11] ->^* r[12] & n[11] ->^* n[12]) (13) -> (12), if (j[13] + 1 ->^* i[12] & 2 * j[13] + 2 ->^* j[12] & l[13] ->^* l[12] & r[13] ->^* r[12] & n[13] ->^* n[12]) (17) -> (12), if (j[17] ->^* i[12] & 2 * j[17] ->^* j[12] & l[17] ->^* l[12] & r[17] ->^* r[12] & n[17] ->^* n[12]) (12) -> (13), if (r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1 & i[12] ->^* i[13] & j[12] ->^* j[13] & l[12] ->^* l[13] & r[12] ->^* r[13] & n[12] ->^* n[13]) (5) -> (14), if (l[5] ->^* i[14] & 2 * l[5] ->^* j[14] & l[5] ->^* l[14] & r[5] ->^* r[14] & n[5] ->^* n[14]) (11) -> (14), if (j[11] ->^* i[14] & 2 * j[11] ->^* j[14] & l[11] ->^* l[14] & r[11] ->^* r[14] & n[11] ->^* n[14]) (13) -> (14), if (j[13] + 1 ->^* i[14] & 2 * j[13] + 2 ->^* j[14] & l[13] ->^* l[14] & r[13] ->^* r[14] & n[13] ->^* n[14]) (17) -> (14), if (j[17] ->^* i[14] & 2 * j[17] ->^* j[14] & l[17] ->^* l[14] & r[17] ->^* r[14] & n[17] ->^* n[14]) (14) -> (15), if (r[14] >= j[14] && j[14] > r[14] - 1 & i[14] ->^* i[15] & j[14] ->^* j[15] & l[14] ->^* l[15] & r[14] ->^* r[15] & n[14] ->^* n[15]) (5) -> (16), if (l[5] ->^* i[16] & 2 * l[5] ->^* j[16] & l[5] ->^* l[16] & r[5] ->^* r[16] & n[5] ->^* n[16]) (11) -> (16), if (j[11] ->^* i[16] & 2 * j[11] ->^* j[16] & l[11] ->^* l[16] & r[11] ->^* r[16] & n[11] ->^* n[16]) (13) -> (16), if (j[13] + 1 ->^* i[16] & 2 * j[13] + 2 ->^* j[16] & l[13] ->^* l[16] & r[13] ->^* r[16] & n[13] ->^* n[16]) (17) -> (16), if (j[17] ->^* i[16] & 2 * j[17] ->^* j[16] & l[17] ->^* l[16] & r[17] ->^* r[16] & n[17] ->^* n[16]) (16) -> (17), if (r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1 & i[16] ->^* i[17] & j[16] ->^* j[17] & l[16] ->^* l[17] & r[16] ->^* r[17] & n[16] ->^* n[17]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (13) IDependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 9 less nodes. ---------------------------------------- (14) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Integer, Boolean R is empty. The integer pair graph contains the following rules and edges: (13): COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(j[13] + 1, 2 * j[13] + 2, l[13], r[13], n[13]) (12): EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1, i[12], j[12], l[12], r[12], n[12]) (11): COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], 2 * j[11], l[11], r[11], n[11]) (10): EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1, i[10], j[10], l[10], r[10], n[10]) (17): COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], 2 * j[17], l[17], r[17], n[17]) (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) (11) -> (10), if (j[11] ->^* i[10] & 2 * j[11] ->^* j[10] & l[11] ->^* l[10] & r[11] ->^* r[10] & n[11] ->^* n[10]) (13) -> (10), if (j[13] + 1 ->^* i[10] & 2 * j[13] + 2 ->^* j[10] & l[13] ->^* l[10] & r[13] ->^* r[10] & n[13] ->^* n[10]) (17) -> (10), if (j[17] ->^* i[10] & 2 * j[17] ->^* j[10] & l[17] ->^* l[10] & r[17] ->^* r[10] & n[17] ->^* n[10]) (10) -> (11), if (r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1 & i[10] ->^* i[11] & j[10] ->^* j[11] & l[10] ->^* l[11] & r[10] ->^* r[11] & n[10] ->^* n[11]) (11) -> (12), if (j[11] ->^* i[12] & 2 * j[11] ->^* j[12] & l[11] ->^* l[12] & r[11] ->^* r[12] & n[11] ->^* n[12]) (13) -> (12), if (j[13] + 1 ->^* i[12] & 2 * j[13] + 2 ->^* j[12] & l[13] ->^* l[12] & r[13] ->^* r[12] & n[13] ->^* n[12]) (17) -> (12), if (j[17] ->^* i[12] & 2 * j[17] ->^* j[12] & l[17] ->^* l[12] & r[17] ->^* r[12] & n[17] ->^* n[12]) (12) -> (13), if (r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1 & i[12] ->^* i[13] & j[12] ->^* j[13] & l[12] ->^* l[13] & r[12] ->^* r[13] & n[12] ->^* n[13]) (11) -> (16), if (j[11] ->^* i[16] & 2 * j[11] ->^* j[16] & l[11] ->^* l[16] & r[11] ->^* r[16] & n[11] ->^* n[16]) (13) -> (16), if (j[13] + 1 ->^* i[16] & 2 * j[13] + 2 ->^* j[16] & l[13] ->^* l[16] & r[13] ->^* r[16] & n[13] ->^* n[16]) (17) -> (16), if (j[17] ->^* i[16] & 2 * j[17] ->^* j[16] & l[17] ->^* l[16] & r[17] ->^* r[16] & n[17] ->^* n[16]) (16) -> (17), if (r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1 & i[16] ->^* i[17] & j[16] ->^* j[17] & l[16] ->^* l[17] & r[16] ->^* r[17] & n[16] ->^* n[17]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (15) IDPNonInfProof (SOUND) Used the following options for this NonInfProof: IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@106f4543 Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1 The constraints were generated the following way: The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: Note that final constraints are written in bold face. For Pair COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) the following chains were created: *We consider the chain EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]), COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]), EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) which results in the following constraint: (1) (&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1))=TRUE & i[12]=i[13] & j[12]=j[13] & l[12]=l[13] & r[12]=r[13] & n[12]=n[13] & +(j[13], 1)=i[10] & +(*(2, j[13]), 2)=j[10] & l[13]=l[10] & r[13]=r[10] & n[13]=n[10] ==> COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_NonInfC & COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[12], 1)=TRUE & >=(r[12], j[12])=TRUE & >=(-(r[12], 1), j[12])=TRUE ==> COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_EVAL_3(+(j[12], 1), +(*(2, j[12]), 2), l[12], r[12], n[12]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & [1 + (-1)bso_34] + j[12] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & [1 + (-1)bso_34] + j[12] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & [1 + (-1)bso_34] + j[12] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & 0 = 0 & [1 + (-1)bso_34] + j[12] >= 0) *We consider the chain EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]), COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]), EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) which results in the following constraint: (1) (&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1))=TRUE & i[12]=i[13] & j[12]=j[13] & l[12]=l[13] & r[12]=r[13] & n[12]=n[13] & +(j[13], 1)=i[12]1 & +(*(2, j[13]), 2)=j[12]1 & l[13]=l[12]1 & r[13]=r[12]1 & n[13]=n[12]1 ==> COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_NonInfC & COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[12], 1)=TRUE & >=(r[12], j[12])=TRUE & >=(-(r[12], 1), j[12])=TRUE ==> COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_EVAL_3(+(j[12], 1), +(*(2, j[12]), 2), l[12], r[12], n[12]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & [1 + (-1)bso_34] + j[12] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & [1 + (-1)bso_34] + j[12] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & [1 + (-1)bso_34] + j[12] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & 0 = 0 & [1 + (-1)bso_34] + j[12] >= 0) *We consider the chain EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]), COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]), EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) which results in the following constraint: (1) (&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1))=TRUE & i[12]=i[13] & j[12]=j[13] & l[12]=l[13] & r[12]=r[13] & n[12]=n[13] & +(j[13], 1)=i[16] & +(*(2, j[13]), 2)=j[16] & l[13]=l[16] & r[13]=r[16] & n[13]=n[16] ==> COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_NonInfC & COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13])_>=_EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[12], 1)=TRUE & >=(r[12], j[12])=TRUE & >=(-(r[12], 1), j[12])=TRUE ==> COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & COND_EVAL_33(TRUE, i[12], j[12], l[12], r[12], n[12])_>=_EVAL_3(+(j[12], 1), +(*(2, j[12]), 2), l[12], r[12], n[12]) & (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & [1 + (-1)bso_34] + j[12] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & [1 + (-1)bso_34] + j[12] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & [1 + (-1)bso_34] + j[12] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & 0 = 0 & [1 + (-1)bso_34] + j[12] >= 0) For Pair EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) the following chains were created: *We consider the chain EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]), COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) which results in the following constraint: (1) (&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1))=TRUE & i[12]=i[13] & j[12]=j[13] & l[12]=l[13] & r[12]=r[13] & n[12]=n[13] ==> EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) & (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[12], 1)=TRUE & >=(r[12], j[12])=TRUE & >=(-(r[12], 1), j[12])=TRUE ==> EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_NonInfC & EVAL_3(i[12], j[12], l[12], r[12], n[12])_>=_COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) & (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & [(-1)Bound*bni_35] + [bni_35]r[12] + [(-1)bni_35]j[12] >= 0 & [(-1)bso_36] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & [(-1)Bound*bni_35] + [bni_35]r[12] + [(-1)bni_35]j[12] >= 0 & [(-1)bso_36] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & [(-1)Bound*bni_35] + [bni_35]r[12] + [(-1)bni_35]j[12] >= 0 & [(-1)bso_36] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_35] + [bni_35]r[12] + [(-1)bni_35]j[12] >= 0 & [(-1)bso_36] >= 0) For Pair COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) the following chains were created: *We consider the chain EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]), COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]), EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) which results in the following constraint: (1) (&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1))=TRUE & i[10]=i[11] & j[10]=j[11] & l[10]=l[11] & r[10]=r[11] & n[10]=n[11] & j[11]=i[10]1 & *(2, j[11])=j[10]1 & l[11]=l[10]1 & r[11]=r[10]1 & n[11]=n[10]1 ==> COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_NonInfC & COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[10], 1)=TRUE & >=(r[10], j[10])=TRUE & >=(-(r[10], 1), j[10])=TRUE ==> COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_EVAL_3(j[10], *(2, j[10]), l[10], r[10], n[10]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & [(-1)bso_38] + j[10] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & [(-1)bso_38] + j[10] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & [(-1)bso_38] + j[10] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & 0 = 0 & [(-1)bso_38] + j[10] >= 0) *We consider the chain EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]), COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]), EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) which results in the following constraint: (1) (&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1))=TRUE & i[10]=i[11] & j[10]=j[11] & l[10]=l[11] & r[10]=r[11] & n[10]=n[11] & j[11]=i[12] & *(2, j[11])=j[12] & l[11]=l[12] & r[11]=r[12] & n[11]=n[12] ==> COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_NonInfC & COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[10], 1)=TRUE & >=(r[10], j[10])=TRUE & >=(-(r[10], 1), j[10])=TRUE ==> COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_EVAL_3(j[10], *(2, j[10]), l[10], r[10], n[10]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & [(-1)bso_38] + j[10] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & [(-1)bso_38] + j[10] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & [(-1)bso_38] + j[10] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & 0 = 0 & [(-1)bso_38] + j[10] >= 0) *We consider the chain EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]), COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]), EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) which results in the following constraint: (1) (&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1))=TRUE & i[10]=i[11] & j[10]=j[11] & l[10]=l[11] & r[10]=r[11] & n[10]=n[11] & j[11]=i[16] & *(2, j[11])=j[16] & l[11]=l[16] & r[11]=r[16] & n[11]=n[16] ==> COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_NonInfC & COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11])_>=_EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[10], 1)=TRUE & >=(r[10], j[10])=TRUE & >=(-(r[10], 1), j[10])=TRUE ==> COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & COND_EVAL_32(TRUE, i[10], j[10], l[10], r[10], n[10])_>=_EVAL_3(j[10], *(2, j[10]), l[10], r[10], n[10]) & (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & [(-1)bso_38] + j[10] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & [(-1)bso_38] + j[10] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & [(-1)bso_38] + j[10] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & 0 = 0 & [(-1)bso_38] + j[10] >= 0) For Pair EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) the following chains were created: *We consider the chain EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]), COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) which results in the following constraint: (1) (&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1))=TRUE & i[10]=i[11] & j[10]=j[11] & l[10]=l[11] & r[10]=r[11] & n[10]=n[11] ==> EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) & (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[10], 1)=TRUE & >=(r[10], j[10])=TRUE & >=(-(r[10], 1), j[10])=TRUE ==> EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_NonInfC & EVAL_3(i[10], j[10], l[10], r[10], n[10])_>=_COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) & (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & [(-1)Bound*bni_39] + [bni_39]r[10] + [(-1)bni_39]j[10] >= 0 & [(-1)bso_40] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & [(-1)Bound*bni_39] + [bni_39]r[10] + [(-1)bni_39]j[10] >= 0 & [(-1)bso_40] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & [(-1)Bound*bni_39] + [bni_39]r[10] + [(-1)bni_39]j[10] >= 0 & [(-1)bso_40] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_39] + [bni_39]r[10] + [(-1)bni_39]j[10] >= 0 & [(-1)bso_40] >= 0) For Pair COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) the following chains were created: *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]), EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] & j[17]=i[10] & *(2, j[17])=j[10] & l[17]=l[10] & r[17]=r[10] & n[17]=n[10] ==> COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_NonInfC & COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_EVAL_3(j[16], *(2, j[16]), l[16], r[16], n[16]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & 0 = 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]), EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] & j[17]=i[12] & *(2, j[17])=j[12] & l[17]=l[12] & r[17]=r[12] & n[17]=n[12] ==> COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_NonInfC & COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_EVAL_3(j[16], *(2, j[16]), l[16], r[16], n[16]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & 0 = 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]), EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] & j[17]=i[16]1 & *(2, j[17])=j[16]1 & l[17]=l[16]1 & r[17]=r[16]1 & n[17]=n[16]1 ==> COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_NonInfC & COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_EVAL_3(j[16], *(2, j[16]), l[16], r[16], n[16]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & 0 = 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) For Pair EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) the following chains were created: *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] ==> EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) & (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) & (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)Bound*bni_43] + [bni_43]r[16] + [(-1)bni_43]j[16] >= 0 & [-1 + (-1)bso_44] + r[16] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)Bound*bni_43] + [bni_43]r[16] + [(-1)bni_43]j[16] >= 0 & [-1 + (-1)bso_44] + r[16] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)Bound*bni_43] + [bni_43]r[16] + [(-1)bni_43]j[16] >= 0 & [-1 + (-1)bso_44] + r[16] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_43] + [bni_43]r[16] + [(-1)bni_43]j[16] >= 0 & [-1 + (-1)bso_44] + r[16] >= 0) To summarize, we get the following constraints P__>=_ for the following pairs. *COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) *(j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & 0 = 0 & [1 + (-1)bso_34] + j[12] >= 0) *(j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & 0 = 0 & [1 + (-1)bso_34] + j[12] >= 0) *(j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]r[12] + [(-1)bni_33]j[12] >= 0 & 0 = 0 & [1 + (-1)bso_34] + j[12] >= 0) *EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) *(j[12] + [-1] >= 0 & r[12] + [-1]j[12] >= 0 & r[12] + [-1] + [-1]j[12] >= 0 ==> (U^Increasing(COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_35] + [bni_35]r[12] + [(-1)bni_35]j[12] >= 0 & [(-1)bso_36] >= 0) *COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) *(j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & 0 = 0 & [(-1)bso_38] + j[10] >= 0) *(j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & 0 = 0 & [(-1)bso_38] + j[10] >= 0) *(j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_37] + [bni_37]r[10] + [(-1)bni_37]j[10] >= 0 & 0 = 0 & [(-1)bso_38] + j[10] >= 0) *EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) *(j[10] + [-1] >= 0 & r[10] + [-1]j[10] >= 0 & r[10] + [-1] + [-1]j[10] >= 0 ==> (U^Increasing(COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_39] + [bni_39]r[10] + [(-1)bni_39]j[10] >= 0 & [(-1)bso_40] >= 0) *COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & 0 = 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & 0 = 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_41] + [(-1)bni_41]j[16] >= 0 & 0 = 0 & [(-1)bso_42] + [-1]r[16] + j[16] >= 0) *EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)Bound*bni_43] + [bni_43]r[16] + [(-1)bni_43]j[16] >= 0 & [-1 + (-1)bso_44] + r[16] >= 0) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. Using the following integer polynomial ordering the resulting constraints can be solved Polynomial interpretation over integers[POLO]: POL(TRUE) = 0 POL(FALSE) = 0 POL(COND_EVAL_33(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_5 + [-1]x_3 + [-1]x_1 POL(EVAL_3(x_1, x_2, x_3, x_4, x_5)) = x_4 + [-1]x_2 POL(+(x_1, x_2)) = x_1 + x_2 POL(1) = [1] POL(*(x_1, x_2)) = x_1*x_2 POL(2) = [2] POL(&&(x_1, x_2)) = [-1] POL(>=(x_1, x_2)) = [-1] POL(-(x_1, x_2)) = x_1 + [-1]x_2 POL(COND_EVAL_32(x_1, x_2, x_3, x_4, x_5, x_6)) = x_5 + [-1]x_3 POL(COND_EVAL_35(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1]x_3 + [-1]x_1 POL(>(x_1, x_2)) = [-1] The following pairs are in P_>: COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) The following pairs are in P_bound: COND_EVAL_33(TRUE, i[13], j[13], l[13], r[13], n[13]) -> EVAL_3(+(j[13], 1), +(*(2, j[13]), 2), l[13], r[13], n[13]) EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) COND_EVAL_32(TRUE, i[11], j[11], l[11], r[11], n[11]) -> EVAL_3(j[11], *(2, j[11]), l[11], r[11], n[11]) EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) The following pairs are in P_>=: EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(&&(&&(>=(r[12], j[12]), >=(-(r[12], 1), j[12])), >=(j[12], 1)), i[12], j[12], l[12], r[12], n[12]) EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(&&(&&(>=(r[10], j[10]), >=(-(r[10], 1), j[10])), >=(j[10], 1)), i[10], j[10], l[10], r[10], n[10]) COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) At least the following rules have been oriented under context sensitive arithmetic replacement: TRUE^1 -> &&(TRUE, TRUE)^1 FALSE^1 -> &&(TRUE, FALSE)^1 FALSE^1 -> &&(FALSE, TRUE)^1 FALSE^1 -> &&(FALSE, FALSE)^1 ---------------------------------------- (16) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Boolean, Integer R is empty. The integer pair graph contains the following rules and edges: (12): EVAL_3(i[12], j[12], l[12], r[12], n[12]) -> COND_EVAL_33(r[12] >= j[12] && r[12] - 1 >= j[12] && j[12] >= 1, i[12], j[12], l[12], r[12], n[12]) (10): EVAL_3(i[10], j[10], l[10], r[10], n[10]) -> COND_EVAL_32(r[10] >= j[10] && r[10] - 1 >= j[10] && j[10] >= 1, i[10], j[10], l[10], r[10], n[10]) (17): COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], 2 * j[17], l[17], r[17], n[17]) (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) (17) -> (10), if (j[17] ->^* i[10] & 2 * j[17] ->^* j[10] & l[17] ->^* l[10] & r[17] ->^* r[10] & n[17] ->^* n[10]) (17) -> (12), if (j[17] ->^* i[12] & 2 * j[17] ->^* j[12] & l[17] ->^* l[12] & r[17] ->^* r[12] & n[17] ->^* n[12]) (17) -> (16), if (j[17] ->^* i[16] & 2 * j[17] ->^* j[16] & l[17] ->^* l[16] & r[17] ->^* r[16] & n[17] ->^* n[16]) (16) -> (17), if (r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1 & i[16] ->^* i[17] & j[16] ->^* j[17] & l[16] ->^* l[17] & r[16] ->^* r[17] & n[16] ->^* n[17]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (17) IDependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (18) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Boolean, Integer R is empty. The integer pair graph contains the following rules and edges: (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) (17): COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], 2 * j[17], l[17], r[17], n[17]) (17) -> (16), if (j[17] ->^* i[16] & 2 * j[17] ->^* j[16] & l[17] ->^* l[16] & r[17] ->^* r[16] & n[17] ->^* n[16]) (16) -> (17), if (r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1 & i[16] ->^* i[17] & j[16] ->^* j[17] & l[16] ->^* l[17] & r[16] ->^* r[17] & n[16] ->^* n[17]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (19) IDPNonInfProof (SOUND) Used the following options for this NonInfProof: IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@106f4543 Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1 The constraints were generated the following way: The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps: Note that final constraints are written in bold face. For Pair EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) the following chains were created: *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] ==> EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) & (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=)) We simplified constraint (1) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & EVAL_3(i[16], j[16], l[16], r[16], n[16])_>=_COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) & (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)bni_19 + (-1)Bound*bni_19] + [bni_19]r[16] + [(-1)bni_19]j[16] >= 0 & [(-1)bso_20] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)bni_19 + (-1)Bound*bni_19] + [bni_19]r[16] + [(-1)bni_19]j[16] >= 0 & [(-1)bso_20] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & [(-1)bni_19 + (-1)Bound*bni_19] + [bni_19]r[16] + [(-1)bni_19]j[16] >= 0 & [(-1)bso_20] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_19 + (-1)Bound*bni_19] + [bni_19]r[16] + [(-1)bni_19]j[16] >= 0 & [(-1)bso_20] >= 0) For Pair COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) the following chains were created: *We consider the chain EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]), COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]), EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) which results in the following constraint: (1) (&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1))=TRUE & i[16]=i[17] & j[16]=j[17] & l[16]=l[17] & r[16]=r[17] & n[16]=n[17] & j[17]=i[16]1 & *(2, j[17])=j[16]1 & l[17]=l[16]1 & r[17]=r[16]1 & n[17]=n[16]1 ==> COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_NonInfC & COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17])_>=_EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint: (2) (>=(j[16], 1)=TRUE & >=(r[16], j[16])=TRUE & >(j[16], -(r[16], 1))=TRUE ==> COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_NonInfC & COND_EVAL_35(TRUE, i[16], j[16], l[16], r[16], n[16])_>=_EVAL_3(j[16], *(2, j[16]), l[16], r[16], n[16]) & (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=)) We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint: (3) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)bni_21 + (-1)Bound*bni_21] + [bni_21]r[16] + [(-1)bni_21]j[16] >= 0 & [(-1)bso_22] + j[16] >= 0) We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint: (4) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)bni_21 + (-1)Bound*bni_21] + [bni_21]r[16] + [(-1)bni_21]j[16] >= 0 & [(-1)bso_22] + j[16] >= 0) We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint: (5) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & [(-1)bni_21 + (-1)Bound*bni_21] + [bni_21]r[16] + [(-1)bni_21]j[16] >= 0 & [(-1)bso_22] + j[16] >= 0) We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint: (6) (j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_21 + (-1)Bound*bni_21] + [bni_21]r[16] + [(-1)bni_21]j[16] >= 0 & 0 = 0 & [(-1)bso_22] + j[16] >= 0) To summarize, we get the following constraints P__>=_ for the following pairs. *EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_19 + (-1)Bound*bni_19] + [bni_19]r[16] + [(-1)bni_19]j[16] >= 0 & [(-1)bso_20] >= 0) *COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) *(j[16] + [-1] >= 0 & r[16] + [-1]j[16] >= 0 & j[16] + [-1]r[16] >= 0 ==> (U^Increasing(EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17])), >=) & 0 = 0 & 0 = 0 & 0 = 0 & [(-1)bni_21 + (-1)Bound*bni_21] + [bni_21]r[16] + [(-1)bni_21]j[16] >= 0 & 0 = 0 & [(-1)bso_22] + j[16] >= 0) The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. Using the following integer polynomial ordering the resulting constraints can be solved Polynomial interpretation over integers[POLO]: POL(TRUE) = 0 POL(FALSE) = [1] POL(EVAL_3(x_1, x_2, x_3, x_4, x_5)) = [-1] + x_4 + [-1]x_2 POL(COND_EVAL_35(x_1, x_2, x_3, x_4, x_5, x_6)) = [-1] + x_5 + [-1]x_3 + [-1]x_1 POL(&&(x_1, x_2)) = 0 POL(>=(x_1, x_2)) = [-1] POL(>(x_1, x_2)) = [-1] POL(-(x_1, x_2)) = x_1 + [-1]x_2 POL(1) = [1] POL(*(x_1, x_2)) = x_1*x_2 POL(2) = [2] The following pairs are in P_>: COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) The following pairs are in P_bound: EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) COND_EVAL_35(TRUE, i[17], j[17], l[17], r[17], n[17]) -> EVAL_3(j[17], *(2, j[17]), l[17], r[17], n[17]) The following pairs are in P_>=: EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(&&(&&(>=(r[16], j[16]), >(j[16], -(r[16], 1))), >=(j[16], 1)), i[16], j[16], l[16], r[16], n[16]) At least the following rules have been oriented under context sensitive arithmetic replacement: &&(TRUE, TRUE)^1 <-> TRUE^1 FALSE^1 -> &&(TRUE, FALSE)^1 FALSE^1 -> &&(FALSE, TRUE)^1 FALSE^1 -> &&(FALSE, FALSE)^1 ---------------------------------------- (20) Obligation: IDP problem: The following function symbols are pre-defined: <<< & ~ Bwand: (Integer, Integer) -> Integer >= ~ Ge: (Integer, Integer) -> Boolean | ~ Bwor: (Integer, Integer) -> Integer / ~ Div: (Integer, Integer) -> Integer != ~ Neq: (Integer, Integer) -> Boolean && ~ Land: (Boolean, Boolean) -> Boolean ! ~ Lnot: (Boolean) -> Boolean = ~ Eq: (Integer, Integer) -> Boolean <= ~ Le: (Integer, Integer) -> Boolean ^ ~ Bwxor: (Integer, Integer) -> Integer % ~ Mod: (Integer, Integer) -> Integer > ~ Gt: (Integer, Integer) -> Boolean + ~ Add: (Integer, Integer) -> Integer -1 ~ UnaryMinus: (Integer) -> Integer < ~ Lt: (Integer, Integer) -> Boolean || ~ Lor: (Boolean, Boolean) -> Boolean - ~ Sub: (Integer, Integer) -> Integer ~ ~ Bwnot: (Integer) -> Integer * ~ Mul: (Integer, Integer) -> Integer >>> The following domains are used: Boolean, Integer R is empty. The integer pair graph contains the following rules and edges: (16): EVAL_3(i[16], j[16], l[16], r[16], n[16]) -> COND_EVAL_35(r[16] >= j[16] && j[16] > r[16] - 1 && j[16] >= 1, i[16], j[16], l[16], r[16], n[16]) The set Q consists of the following terms: eval_1(x0, x1, x2, x3, x4) Cond_eval_1(TRUE, x0, x1, x2, x3, x4) Cond_eval_11(TRUE, x0, x1, x2, x3, x4) eval_2(x0, x1, x2, x3, x4) Cond_eval_2(TRUE, x0, x1, x2, x3, x4) eval_3(x0, x1, x2, x3, x4) Cond_eval_3(TRUE, x0, x1, x2, x3, x4) Cond_eval_31(TRUE, x0, x1, x2, x3, x4) Cond_eval_32(TRUE, x0, x1, x2, x3, x4) Cond_eval_33(TRUE, x0, x1, x2, x3, x4) Cond_eval_34(TRUE, x0, x1, x2, x3, x4) Cond_eval_35(TRUE, x0, x1, x2, x3, x4) eval_4(x0, x1, x2, x3, x4) Cond_eval_4(TRUE, x0, x1, x2, x3, x4) Cond_eval_41(TRUE, x0, x1, x2, x3, x4) ---------------------------------------- (21) IDependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. ---------------------------------------- (22) TRUE